This session is about migration from a huge monolith to microservices. I will tell you about our experience, not theory. The session depicts prerequisites to start a monolith separation, problems I bumped and obstacles that were overcome. In my presentation I will shortly depict problems with the monolith, show appearance of business and framework modules separation, describe necessity of internal and external API, depict certification of libraries and microservices and touch other questions like branching/release strategies.
Funny stories and anti-patterns from DevOps landscapeMikalai Alimenkou
During last several years DevOps became strong buzzword used almost in every project, team and company. But almost everywhere it is used in very funny and strange context. For example, existing ops guys are renamed to DevOps just to sell them to the client for more money. Or DevOps is used as new job title for some magically powerful person who is able to operate cloud environment and modern infrastructure related tools, leading team of old school ops and participating in management meetings. In this talk I’m going to review all different anti-patterns and bad practices in DevOps landscape using stories from my personal experience as Delivery Manager and independent consultant.
When you work in a small collocated team many engineering practices and approaches are relatively easy to use and adapt. In large project with many teams working on the same product this task is not so simple. I want to share experience report in implementing Code Review practice in big product development team (more than 150 people, 10+ feature teams). In this talk we will review what approaches works in such setup and what don’t work, what tools and additional practices are needed to support Code Review and make it more effective, what difficulties and blockers will you probably see in the real life cases, what useful metrics could be produced by this practice.
Code Review tool for personal effectiveness and waste analysisMikalai Alimenkou
Usually it is hard to analyze personal effectiveness and detect wastes in development process because developer’s work decomposition is not transparent and available for analysis. As a good sample of ineffective process imagine developer, who spends 1 day on task implementation and then reimplements it several times according to code review notes during next 2 days. Or another developer, who is waiting for code review during 2 days, switching context to other tasks, finally gets notes and switches back to initial task, trying to refresh all details in his head. And so on and so forth…
Code review tool usage helps to aggregate lots of useful information about any code change at any stage (static analysis, code review, rework, acceptance, integration into main branch). In this talk I’m going to demontrate how this information could be used for detailed analysis of development effectiveness and wastes detection. Based on mentioned analysis you could implement many improvements for your development process and then measure their success.
A better approach for testing microservices - introducing test kits in practiceMaxim Novak
Micro-services are the new black; everyone is using them. Alas, when your system is composed of many micro-services, testing becomes more challenging. The straight-forward approach for E2E testing no longer suffices and for integration tests it doesn’t even exist. A better way to test in this kind of an environment would be to work with a test kit of the micro-service you are interacting with.
By the end of this talk, you will learn how to create a test-kit that covers your micro-service. Testing this way will grant you a much higher level of confidence, and will portray a more accurate picture of your assumptions vs. reality. Overall it will make any integration between micro-services easier, thus benefit your colleagues and make your company progress faster.
We have spent many years testing our applications and systems manually and with test automation tools. During this time many bug root causes have been classified and could be detected automatically with special static analysis tools. Most of them could be applied at the early stages of development even before code is integrated into the main development branch. In this talk, I will go through available solutions and demonstrate what kinds of issues may be detected automatically reducing the time and effort of traditional testing.
In a device-frangmented world like ours today, it has become impossible to test all software, let alone mobile applications, manually. That's why automated testing is so important!
Find out about the top benefits of automated testing in this slideshow!
Funny stories and anti-patterns from DevOps landscapeMikalai Alimenkou
During last several years DevOps became strong buzzword used almost in every project, team and company. But almost everywhere it is used in very funny and strange context. For example, existing ops guys are renamed to DevOps just to sell them to the client for more money. Or DevOps is used as new job title for some magically powerful person who is able to operate cloud environment and modern infrastructure related tools, leading team of old school ops and participating in management meetings. In this talk I’m going to review all different anti-patterns and bad practices in DevOps landscape using stories from my personal experience as Delivery Manager and independent consultant.
When you work in a small collocated team many engineering practices and approaches are relatively easy to use and adapt. In large project with many teams working on the same product this task is not so simple. I want to share experience report in implementing Code Review practice in big product development team (more than 150 people, 10+ feature teams). In this talk we will review what approaches works in such setup and what don’t work, what tools and additional practices are needed to support Code Review and make it more effective, what difficulties and blockers will you probably see in the real life cases, what useful metrics could be produced by this practice.
Code Review tool for personal effectiveness and waste analysisMikalai Alimenkou
Usually it is hard to analyze personal effectiveness and detect wastes in development process because developer’s work decomposition is not transparent and available for analysis. As a good sample of ineffective process imagine developer, who spends 1 day on task implementation and then reimplements it several times according to code review notes during next 2 days. Or another developer, who is waiting for code review during 2 days, switching context to other tasks, finally gets notes and switches back to initial task, trying to refresh all details in his head. And so on and so forth…
Code review tool usage helps to aggregate lots of useful information about any code change at any stage (static analysis, code review, rework, acceptance, integration into main branch). In this talk I’m going to demontrate how this information could be used for detailed analysis of development effectiveness and wastes detection. Based on mentioned analysis you could implement many improvements for your development process and then measure their success.
A better approach for testing microservices - introducing test kits in practiceMaxim Novak
Micro-services are the new black; everyone is using them. Alas, when your system is composed of many micro-services, testing becomes more challenging. The straight-forward approach for E2E testing no longer suffices and for integration tests it doesn’t even exist. A better way to test in this kind of an environment would be to work with a test kit of the micro-service you are interacting with.
By the end of this talk, you will learn how to create a test-kit that covers your micro-service. Testing this way will grant you a much higher level of confidence, and will portray a more accurate picture of your assumptions vs. reality. Overall it will make any integration between micro-services easier, thus benefit your colleagues and make your company progress faster.
We have spent many years testing our applications and systems manually and with test automation tools. During this time many bug root causes have been classified and could be detected automatically with special static analysis tools. Most of them could be applied at the early stages of development even before code is integrated into the main development branch. In this talk, I will go through available solutions and demonstrate what kinds of issues may be detected automatically reducing the time and effort of traditional testing.
In a device-frangmented world like ours today, it has become impossible to test all software, let alone mobile applications, manually. That's why automated testing is so important!
Find out about the top benefits of automated testing in this slideshow!
When you get lost in api testing #ForumPHPPaula Čučuk
If you are not writing tests yet, you should start. Tests will improve the quality of your code, reduce bugs and probably force you to think more about design and quality. Actually, the hardest thing is to start and figure out which type of tests to write.
So you start researching and you find a lot of different materials and get even more confused.Even when you decide what type of tests to use, it can be hard to decide how to test some specific logic in your app.
Don’t give up! We have some tips we learned along the way that will hopefully make your life easier. In this talk you will hear about different test types and when to use them. We’ll also show some tools for checking quality of your test.
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
This presentation looks at the problem of selecting the best programming language and tools to ensure IoT software is secure, robust, and safe. By taking a look at industry best practices and decades of knowledge from other industries (such as automotive and aerospace), you will learn the criteria necessary to choose the right language, how to overcome gaps in developers’ skills, and techniques to ensure your team delivers bulletproof IoT applications.
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Applitools
Full webinar recording:
Go through this presentation and on-demand session to learn: What Are The World’s Most Innovative Testing Teams Doing That You Are Not?
As much as we all hate to admit it, our test automation efforts are struggling. Coverage is dropping. Bugs are escaping to production. Our apps are visually complex, growing rapidly, delivered continuously, and changing constantly - so much so that our functional framework is now bloated, broken, and unable to keep up with Agile and CI-CD release best practices.
No wonder that in our latest State of Visual Testing research, the majority of companies surveyed reported that their CI-CD and automation processes are not helping them to successfully compete in today's fast-paced ecosystem, and are not effective in ensuring software quality in a scalable and robust way.
But what about those elite testing teams that got it right? What's their secret? Can we copy what they did, instead of setting ourselves to fail?
With this presentation, and on-demand session discussing it, learn how the 10% of the world’s most innovative testing teams have reinvented their test automation to support a fully automated CI-CD process, and guaranteed their company's digital transformation was a success.
Use these resources to learn:
-- Why the majority of test automation efforts are falling behind
-- How your QA and testing efforts compare to these elite teams -- via live polling results
-- 4 modern techniques that the top 10% of testing teams globally are doing every day, and that you can do too
By applying linting (static code analysis) tools to test code, preferably the same tools as for application code, tests can be improved which can eventually lead to better maintainability, readability and more robust tests, without even running them!
Curious to know what 3,400 software developers and QA experts think about the current and future state of the software testing industry?
Whether you’re a developer, QA engineer, manager, or any other role working in the software industry, SmartBear’s 2017 State of Testing Survey Report will provide you an exciting deep-dive look into industry trends in software testing, team dynamics, development models, and outlooks on the future of software testing.
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Applitools
** Webinar recording: https://youtu.be/r_gzKJUK_AY **
Watch this on-demand session to discover what are the must-have features of codeless automation solutions.
Manual testing is necessary for certain types and modes of testing -- but its inability to properly and quickly scale up creates major setbacks and bottlenecks for companies.
So what's the answer?
We see organizations turning their attention and resources to codeless automation solutions in the hopes of solving the issues of speed, coverage, and maintenance -- but how do you choose a solution that is right for your team?
In this session, we dived into the 5 key features you should look for in a codeless automation solution, discussed how each of those features helps solve different testing challenges, and demonstrated how those features work.
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Ori Bendet
See HPE’s R&D uses Selenium and other open source tools. Understand the new roles and responsibilities of dev/test @HPE and how they fit into current team structure. Discover their lessons learned about how Selenium and open source has contributed to the success and maturity of HPE's own quality assurance and testing tools across the entire portfolio.
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...Agile Testing Alliance
The presentation on Static and dynamic code analysis for mobile applications - Act early to find hidden test issues was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Sumit Mundhada
Browser Vendors are Reshaping Testing - Are You Ready?SmartBear
In this brief presentation, we'll explore how browser vendors like Chrome 45 have changed software testing forever. Check out this slideshare to learn what this means for the future of testing.
How to Become an Effective Tester by Reusing TestsSmartBear
Reusable skills and reusability of testing scripts becomes even more important as there is more to test in less time. Especially when Apple, Google, and Microsoft continue to make it easier for developers to deploy the same code across desktop, phone, tablet, or watch. Add to that, the challenge arising from device fragmentation, increased API dependency, or even dealing with variety of inputs like point and click, gestures, or voice.
Get the testing skills employers are looking for. Come learn with us how you can deliver quality applications at speed by reusing existing tests and skills in a variety of ways.
Highlights include:
Testing trends and how to increase your value to get a salary raise
How reusable test scripts can help not just testers, but also developers and operations
The overlap between functional, performance, and other tests
Benefits of reusing test scripts
How to build a robust reusable testing framework
Testing for Logic App Solutions | Integration MondayBizTalk360
In this Integration Monday session, Mike discussed the challenges and approaches for some of the common testing scenarios when delivering integration solutions with Microsoft Azure.
The presentation on Wearable App Testing was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Himansha Tyagi
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
Abstract:
This talk introduces definitions of system architecture and proposes a way to achieve "good enough" architecture covers project requirements
Andrei will show several cases from real projects, where wrong, missing or over-sophisticated architecture decisions really hurt the development teams:
Painful sharing: do shared modules increase reusability or will be the source of problems?
Non-extensible extensibility: too sophisticated configuration hurts
Over fine-grained: incorrect splitting to microservices can make life even harder as with monolith
Cargo cult: blindly following patterns and rules can produce an unmaintainable system
Freestyle architecture: what happens if teams completely ignore architecture
Improve with less intelligence: smart endpoint and dumb pipes
We are looking forward to meet many of you in person and have great discussions around this topic!
https://www.meetup.com/de-DE/meetup-group-tfyvuydp/
When you get lost in api testing #ForumPHPPaula Čučuk
If you are not writing tests yet, you should start. Tests will improve the quality of your code, reduce bugs and probably force you to think more about design and quality. Actually, the hardest thing is to start and figure out which type of tests to write.
So you start researching and you find a lot of different materials and get even more confused.Even when you decide what type of tests to use, it can be hard to decide how to test some specific logic in your app.
Don’t give up! We have some tips we learned along the way that will hopefully make your life easier. In this talk you will hear about different test types and when to use them. We’ll also show some tools for checking quality of your test.
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
This presentation looks at the problem of selecting the best programming language and tools to ensure IoT software is secure, robust, and safe. By taking a look at industry best practices and decades of knowledge from other industries (such as automotive and aerospace), you will learn the criteria necessary to choose the right language, how to overcome gaps in developers’ skills, and techniques to ensure your team delivers bulletproof IoT applications.
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Applitools
Full webinar recording:
Go through this presentation and on-demand session to learn: What Are The World’s Most Innovative Testing Teams Doing That You Are Not?
As much as we all hate to admit it, our test automation efforts are struggling. Coverage is dropping. Bugs are escaping to production. Our apps are visually complex, growing rapidly, delivered continuously, and changing constantly - so much so that our functional framework is now bloated, broken, and unable to keep up with Agile and CI-CD release best practices.
No wonder that in our latest State of Visual Testing research, the majority of companies surveyed reported that their CI-CD and automation processes are not helping them to successfully compete in today's fast-paced ecosystem, and are not effective in ensuring software quality in a scalable and robust way.
But what about those elite testing teams that got it right? What's their secret? Can we copy what they did, instead of setting ourselves to fail?
With this presentation, and on-demand session discussing it, learn how the 10% of the world’s most innovative testing teams have reinvented their test automation to support a fully automated CI-CD process, and guaranteed their company's digital transformation was a success.
Use these resources to learn:
-- Why the majority of test automation efforts are falling behind
-- How your QA and testing efforts compare to these elite teams -- via live polling results
-- 4 modern techniques that the top 10% of testing teams globally are doing every day, and that you can do too
By applying linting (static code analysis) tools to test code, preferably the same tools as for application code, tests can be improved which can eventually lead to better maintainability, readability and more robust tests, without even running them!
Curious to know what 3,400 software developers and QA experts think about the current and future state of the software testing industry?
Whether you’re a developer, QA engineer, manager, or any other role working in the software industry, SmartBear’s 2017 State of Testing Survey Report will provide you an exciting deep-dive look into industry trends in software testing, team dynamics, development models, and outlooks on the future of software testing.
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Applitools
** Webinar recording: https://youtu.be/r_gzKJUK_AY **
Watch this on-demand session to discover what are the must-have features of codeless automation solutions.
Manual testing is necessary for certain types and modes of testing -- but its inability to properly and quickly scale up creates major setbacks and bottlenecks for companies.
So what's the answer?
We see organizations turning their attention and resources to codeless automation solutions in the hopes of solving the issues of speed, coverage, and maintenance -- but how do you choose a solution that is right for your team?
In this session, we dived into the 5 key features you should look for in a codeless automation solution, discussed how each of those features helps solve different testing challenges, and demonstrated how those features work.
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Ori Bendet
See HPE’s R&D uses Selenium and other open source tools. Understand the new roles and responsibilities of dev/test @HPE and how they fit into current team structure. Discover their lessons learned about how Selenium and open source has contributed to the success and maturity of HPE's own quality assurance and testing tools across the entire portfolio.
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...Agile Testing Alliance
The presentation on Static and dynamic code analysis for mobile applications - Act early to find hidden test issues was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Sumit Mundhada
Browser Vendors are Reshaping Testing - Are You Ready?SmartBear
In this brief presentation, we'll explore how browser vendors like Chrome 45 have changed software testing forever. Check out this slideshare to learn what this means for the future of testing.
How to Become an Effective Tester by Reusing TestsSmartBear
Reusable skills and reusability of testing scripts becomes even more important as there is more to test in less time. Especially when Apple, Google, and Microsoft continue to make it easier for developers to deploy the same code across desktop, phone, tablet, or watch. Add to that, the challenge arising from device fragmentation, increased API dependency, or even dealing with variety of inputs like point and click, gestures, or voice.
Get the testing skills employers are looking for. Come learn with us how you can deliver quality applications at speed by reusing existing tests and skills in a variety of ways.
Highlights include:
Testing trends and how to increase your value to get a salary raise
How reusable test scripts can help not just testers, but also developers and operations
The overlap between functional, performance, and other tests
Benefits of reusing test scripts
How to build a robust reusable testing framework
Testing for Logic App Solutions | Integration MondayBizTalk360
In this Integration Monday session, Mike discussed the challenges and approaches for some of the common testing scenarios when delivering integration solutions with Microsoft Azure.
The presentation on Wearable App Testing was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.
Author and presenter : Himansha Tyagi
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
Abstract:
This talk introduces definitions of system architecture and proposes a way to achieve "good enough" architecture covers project requirements
Andrei will show several cases from real projects, where wrong, missing or over-sophisticated architecture decisions really hurt the development teams:
Painful sharing: do shared modules increase reusability or will be the source of problems?
Non-extensible extensibility: too sophisticated configuration hurts
Over fine-grained: incorrect splitting to microservices can make life even harder as with monolith
Cargo cult: blindly following patterns and rules can produce an unmaintainable system
Freestyle architecture: what happens if teams completely ignore architecture
Improve with less intelligence: smart endpoint and dumb pipes
We are looking forward to meet many of you in person and have great discussions around this topic!
https://www.meetup.com/de-DE/meetup-group-tfyvuydp/
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
Today’s cutting-edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes that Amazon’s engineers use to practice DevOps and discuss how you can bring these processes to your company by using a new set of AWS tools (AWS CodePipeline and AWS CodeDeploy). These services were inspired by Amazon's own internal developer tools and DevOps culture.
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
From 0 to DevOps in 80 Days
Link to the webinar replay: https://info.dynatrace.com/apm_dtm_ops_17q3_wc_from_enterprise_tocloud_native_na_registration.html
“Innovate or die” may sound extreme, but it’s the only way to thrive in today’s ever competitive market. Bernd Greifeneder, CTO of Dynatrace, wanted to ensure that the company was relevant 5 years from now so he formed an internal incubator with one goal: transform Dynatrace into a Cloud Native DevOps organization.
The incubator focused on what the company needed to do in order to integrate nascent cloud technologies so that they wouldn’t be left in the dust when the inevitable tipping point to cloud arrives. Transforming into a cloud native company would allow for rapid release cycles and provide an embedded feedback loop.
The Results: Dynatrace now has a 99.998% availability of SaaS Service and can deploy changes within an hour if necessary. In parallel, a new SaaS and managed offering is released every 2 weeks with 170 production updates per day.
Watch this recorded webinar as Bernd Greifeneder shares the lessons learned moving Dynatrace from an on-prem company to one that is cloud native.
Bernd discusses:
• The driving factors that led to the transformation
• The goals that were set back in 2011 towards the engineering team
• How to sell such a transformation project in a large enterprise organization
• How to support this multi-year project from top down without impacting regular operations
• What's next on the innovator's mind
IBM Think 2020 Openshift on IBM Z and LinuxONEFilipe Miranda
IBM Think 2020 - Openshift on IBM Z and LinuxONE
#mainframe #openshift #kubernetes #modernization #ibm #devops #openshift4 #redhatopenshift #redhat #ibmz #linuxone #ibmer
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
Learn how you can enhance and extend your existing infrastructure to create an automated, end-to-end IT platform supporting on-demand middleware and application environments, application release pipelines, Continuous Delivery, Private/ hybrid development platform and PaaS and more.
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
Abstract
The idea of this talk is to help development teams to make correct architectural decisions.
Andrei will highlight the basic architectural principles and show ways to achieve architecture that is good enough to cover the project requirements and evolve in the future.
He will also present several cases from real projects, where wrong, missing, or over-sophisticated architecture decisions really hurt the development teams:
- Painful sharing: do shared modules increase reusability or will be the source of problems?
- Microservices are the solution to every problem!
- Non-extensible extensibility: too sophisticated configuration hurts
- Over fine-grained: incorrect splitting to Microservices can make life even harder as with monolith
- Convey horizontal split: how organizational driven split can jeopardise the architecture
- Model-driven: central responsibility blocks and limits the team
- Cargo cult: blindly following patterns and rule can produce an unmaintainable system
- Freestyle architecture: what happens if teams completely ignore architecture
- Improve with less intelligence: smart endpoint and dumb pipes
XP teams try to keep systems fully integrated at all times, and shorten the feedback cycle to minutes and hours instead of weeks or months. The sooner you know, the sooner you can adapt.
Watch our record for the webinar "Continuous Integration" to explore how Azure DevOps helps us in achieving continuous feedback using continuous integration.
Building high volume software factories is all about combining workflow and automation functionality to ensure that each application development team is able to repeatedly deliver secure, high quality, feature rich iterations and operate them on scalable, highly available cloud infrastructure.
Attendees will learn how GitLab and Amazon Web Services (AWS) integrate together to provide best of breed development workflows and rock solid cloud application infrastructure.
Overview:
Hard lessons for CI / CD from how Ford automated automobile manufacturing.
GitLab CI / CD is a factory toolkit for software manufacturing.
GitLab CI/CD accelerates time to automation maturity with premade assembly lines and components.
GitLab CI/CD accelerates AppSec (DevSecOps) time to maturity with premade Security assembly lines.
How to have a tortured transformation to software manufacturing.
GitLab rich CI / CD workflows ensure cross-team (Dev, Ops, Sec) collaborative engagement and compliance with change gating controls with auditability.
GitLab CI / CD integrates with AWS infrastructure with multiple possible points of integration.
This deck was used at the 2017 InterConnect conference for a session on building microservices. Much of the information came from personal experiences building a set of microservices around the IBM Voice Gateway which enables cognitive voice BOTs via Voip.
An extremely motivated and proficient individual with overall 4 years of experience in Build/ Release with DevOps & Development, AWS CSA, MCSE(Azure) and JIRA Administrator in IT industry.
Accelerate User Driven Innovation [Webinar]Dynatrace
https://info.dynatrace.com/apm_dtm_ops_17q4_wc_accelerate_user_driven_innovation_en_registration.html
Accelerate User Driven Innovation [Webinar]
DevOps adopters are more agile, more reliable and more successful but, only 2% of companies worldwide have adopted DevOps best practices.
We know it’s more difficult for enterprises companies with legacy systems and processes to get started but it isn’t impossible.
To help you accelerate your own DevOps journey & realise some of the benefits, we’re thrilled to be hosting international DevOps experts Andreas Grabner, Mark Tomlinson and James Pulley.
With combined experience across hundreds of DevOps deployments they have some remarkable use cases to share including Verizon, and even our own story of transforming from on premise six month waterfall deployment to a cloud native one hour continuous delivery model.
Don’t miss these amazing insights. Register today!
Accelerating DevOps at the SF DevOps MeetUpjwi11iams
The Codenvy slide presentation given on September 28, 2015 at the SF DevOps MeetUp. This talk covered Codenvy's journey to continuous development and how Codenvy helps accelerate DevOps though increasing code commits and feedback iterations.
Imagine we had the power to understand the code before its complied or embedding a backdoor or even stealing legitimate certificates of a well known vendor and using them to sign malware?
Join me in the journey of exploring security issues that tend to happen during Build Time in typical enterprise environments.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 3
Migrate to microservices
1. Migrating huge monolith to
microservices.
ANDRIY TRUBITSYN, SOLUTION ARCHITECT
November 11, 2017
How we did it in details.
2. SPEAKER
• SA at Microservice Accelerator in EPAM
• Passionate microservices
• Works in Java stack
• Likes Python
ANDRIY
TRUBITSYN
EPAM Systems, Solution
Architect
3. WHY SOMETIMES WE NEED MICROSERVICES
Fast Time to
Market
Independent
Development,
Deployment
Independent
Scalability
Resource
Utilization
Technology
Heterogeneity
https://martinfowler.com/articles/microservices.html
6. THE BEGINNING
• 200+ developers
• 20 year old project with
continuous development
• Legacy technologies and
everything is custom
• 20 customer project editions
• Many development teams
without centralized
governance
7. CHALLENGES
Modules:
andrey@vm:~/project$ ls -l ./ | grep -c ^d
1710
Files:
andrey@vm:~/project$ find ./ -type f | wc -l
226875
“Legacy code. The phrase strikes disgust in the hearts of programmers. It conjures images of slogging through a murky swamp of tangled undergrowth with leaches beneath and
stinging flies above. It conjures odors of murk, slime, stagnancy, and offal. Although our first joy of programming may have been intense, the misery of dealing with legacy code
is often sufficient to extinguish that flame.”
― Michael C. Feathers, Working Effectively with Legacy Code
9. HOW WE DEVELOPED
CA R1
Master
CB R2CB R1
CA R3CA R1
CB R3
Sync
Point A
Sync
Point B
Unstable
Code
10. HOW WE ENABLE FEATURES
M
F1
F0 R0F1
F1
MasterCustomer A Customer B
Step Time
A: Find a slot to publish 2-3w
A: Publish F1 to Master 1m
A: Stabilize Master 2-3w
B: Plans a slot 2-3w
B: Merge F1 to branch B 1m
B: Stabilize branch B 2-3w
Total 4-5m
11. OUR PLAN
Split up codebase to components1
Establish independent release/branching and versioning strategies2
Find component owners (experts) for architecture governance3
Establish intensive testing, code analysis and component certification4
Extract microservices5
Apply software product line concept6
16. DEPENDENCIES WE FIGHT AGAINST
Pricing
Core Functionality
XSD Schemas
Rules, Utils
UI
Payment Connectors
Adaptors
OFM OMSearch Server Client
Build Dependencies Graph
• Some unexpected dependencies
like Payment Handlers.Land
• New dependencies appears all
the time from dev teams
• Hard to detect circle
dependencies (mixed types)
17. CYCLE DEPENDENCIES
Payment Component
Core Component
3
4
5
2
1
Depends on
Depends on
Depends on
• Business code in Core
component
• Utils code in business
component
• Core component has runtime
dependencies on customer
specific code
18. “MIXED” DEPENDENCIES
Customer A Customer B
Order
Management
• Hard to detect
• Hard to Fix
• Dependency on Customer
Binary
dependency
Run-Time
dependency
19. PRE-MICROSERVICES
EAR
WAR
Framework Components
(Core, Rules, Utils)
WAR JAR(EJB)
• No performance
degradation
• The same deployment
procedure
• Easy to find out
bounded context for
true microservices.
• Give us a better view
on future internal API
20. NEW BRANCHING STRATEGY
• Custom Code and Product code
are to be separated
• Git Lab approach for all teams
• Features can be enabled
immediately
• We persist to support 2 latest
releases of components
Component
Master Customer B
Branch
Customer A
Branch
Customer
Development
Branch
Customer
Development
Branch
22. OWNER TEAMS
• Each component (framework or business)
has its owner team
• Customer teams own their customer
components
• Owner teams reviews and merge all pull
requests into their components
• Owner teams consist of experts in specific
areas
• Virtual Owner Teams for framework
components.
23. RESPONSIBILITY PROBLEM
• It is not my piece of code
• I know who wrote this stuff, take this
piece away from me
• This is from another component, it is not
mine
"Oh that! Well Ray and Emil (they're no longer with the company) wrote that routine back when Jim (who left last
month) was trying a workaround for Irene's input processing code (she's in another department now, too). I don't
think it's used anywhere now, but I'm not really sure. Irene didn't really document it very clearly, so we figured we
would just leave well enough alone for now…"
24. COMPONENT CERTIFICATION
Jenkins
Artifactory
Build & Test &
Analyze
Deploy with other
components
Publish results
Pull/Push Artifacts
deploys
Push release candidate
Customer A
Integration Tests
Integration Test
Environment
Run customer tests
26. CUSTOMER RELEASE STRATEGY
Core Releases
Core v1.0 Core v1.1 Core v1.2
Order Management Releases
OM v2.0 OM v2.1 OM v2.2
Offer Management Releases
OFM v1.3 OFM v1.5 OFM v1.6
Customer A Release
Core v1.0
Order Management v2.0
Offer Management v1.3
Customer B Release
Core v1.1
Order Management v2.2
Offer Management v1.5
27. • Several Environments per a component (+25 servers)
• New view and jobs (+200 new Jobs)
• Many repositories (+60)
• New user groups (+70)
• New tools integrations: Jenkins+BitBucket, Sonar+BitBicket
INFRASTRUCTURE CHANGES
28. • Teams are afraid of responsibility
• Teams are afraid to work on the common master
• Teams are afraid of any new change
• Automation tests are never enough
• Think about your hardware as early as possible
• Business involvement is very important
COMPONENTIZATION – LESSONS LEARNT
31. GOALS 2018
PMC
AdServer
Desktop Web Mobile B2B
Security
Tracing
Logging
Monitors
Offer mgt
Configs
Pricing
Search Order mgt
Profile Payment
Customer A UI v3.1 Customer B UI v2.2
• The monolith is splitted
in the true microservices
• The product supports
multitenancy
• The product runs in the
private DC
• The company sells API
34. EXTRACTED MICROSERVICE
• New deployment unit
• LB configuration
• Microservices
intercommunication
???
Monolith Application
Rules Core
Utils Commons
Profile
Order
Management
Search
Offer
Management
Extracted service
Profile
Rules
Core
Utils
Commons
Load Balancer
35. INTERNAL API
Class A Class B
Container
Class A Class B
Container Container
Public API
Private API
Method call
• Protocol for internal API
• God Object and Data Flow • Internal API Versioning
37. COMMON DATA BASE
Two different services use
common data
Monolith
Application
Offer
Management
Extracted service
Order
Management
Enforce requests to services
instead of DB requests
38. • God object (Blob)
• Map<Object,
List<Map<Object, Map>>>
• No one knows what is inside
PROBLEM WITH DATA FLOW
Monolith
Application
Core
Commons
Profile
Offer
Management
Extracted service
Profile
Rules
Commons
Utils
Core
40. SUMMARY
Have a strong RnD team
Thoroughly think of migration plan
Do as small steps as possible
Do regression tests after each small step
Involve business and team leads in transformation process
1. Low Time to Market ( feature in 2 weeks )
2. Independent Scalability ( after some number of instance a saturation point appears , performance reduces when number of instances increases )
3. Resource Utilization ( 300 requests 300 applications )
4. Technology Heterogeneity
1. Add microservices platform
2. Divide modules to services,
3. Extract microservice: code, than DB, etc.
4. Cross functional teams etc.
What business wants: improve drastically time to market in any price.
A small dedicated team in 7 people was formed to do this migration.
1710 modules with java, csp, xml, wsdl, etc.
Master is always unstable ( sometime can not be built )
All releases go from customer branches
Teams do not trust each others and takes care about themselves only
Code difference sometimes critical
Some teams works in full code copy and do their stuff and than provide a JAR library to other teams. This fails often on runtime.
Files are moved
New business logic with extraterrestrial rules
New method signatures
1. Split up codebase – improve development script, drastically reduce build time
2. Establish independent release cycle and versioning – improve delivery speed
3. Find component owners (experts) for architecture governance – responsibility and code quality
4. Establish intensive testing, code analysis and component certification – code quality
5. Extract microservices – flexible customization, independent development, deployment and scalability
6. Adopt product line architecture concept –
Benefits
Product lines can help organizations overcome the problems caused by resource shortages. Organizations of all types and sizes have discovered that a product line strategy, when skillfully implemented, can produce many benefits—and ultimately give the organizations a competitive edge.
1. It not simple to understand what if change something how it influence the entire landscape.
2. Teams breaks each one features
3. Build is to long to test a small change
Structure 101 and JArchitect
Framework components were divided by meanings
Business components were given by management
Integration components come from 3rd party systems
Tools and applications are obvious
Customer code is separated as well
We have limited resources to deal with the 3rd dependencies.
Build a graph with own groovy scripts,
Run them time to time to see the current picture ( graphviz for work, manually for presentatios)
3. Example: core code call custom business rules to do workflow. We extracted this call processing to custom code.
Hard to detect - on runtime
Hard to Fix – need to know business logic
War in EAR – pre microservices.
Why WAR - ?
Short live Feature branches
Continues code integration
Release/Long live branches
Continuous Integration brings multiple benefits to your organization:
1. Say goodbye to long and tense integrations2. Increase visibility enabling greater communication3. Catch issues early and nip them in the bud4. Spend less time debugging and more time adding features5. Build a solid foundation6. Stop waiting to find out if your code’s going to work7. Reduce integration problems allowing you to deliver software more rapidly
This is from another component – yes – but you implement dependencies we can not solve
We can not certify each release for all customers
Certification per a customer
Certification and release pages for certified components sets
We can not certify every component for every customer:
It is too long
It is not necessary
Too many combinations ( 25 customers * 15 components = 375 )
Changes/features happens faster than we can adopt them
- we are a small team, more people is useless
Business involvement is very important
- Everyone is busy doing features ( we tried to found a window for 3 months )
3 points about teams, yes, main complications are with people
Build time of a customer release decreased from 2 hours to 10 minutes
Early code integration metrics : Feature Enablement in two weeks instead of 4-5 months
Test coverage drastically increased - Teams start write good tests in order to other teams can not break their part
Code quality increased (technical debt goes down, we turn Sonar rules)
Teams started talking to each other (sometime to loud but they become productive)
Time estimations became more exact ( 1+1 = 2 not 3, because they do not calculate integration )
Talk enough about this slide
Internal API
Business transaction bounds
Common DB
Internal communication protocol
Distributed Cache
Data flow and God object
Adopt Netflix OSS
use Spring Boot, Spring Cloud
Try Spinnaker
We are happy with DB
- DB are already splitted into schemas, we need to track
Protocol for internal API (HTTP+JSON, Ptotobuf+zlib)
Business transaction dictates us high level API
Correct separation leads to proper designed API
We are happy there is business context bounds in DB. For every business flow step there is a dedicated schema in DB.