This document proposes a hub-and-spoke model for integrating software tools to help address challenges of information overload faced by distributed development teams. It presents a solution where various tools (satellites) connect and share information through centralized hubs. A case study demonstrates how tools like a CI hub, CD hub, and communication hub like Slack can be integrated to share build, code change, issue and other notifications. The model aims to improve situational awareness for developers by providing a common interface and filtered information from across tools. Further work is needed to implement and test the model in different company contexts and environments.
WSO2Con ASIA 2016: Enterprise Platform for Digital TransformationWSO2
Enterprises are looking for digital transformation today by making it the highest priority in every CxO and enterprise architect’s task list. This session answers the questions what is digital transformation and how do we get there in a business and technical manner. In addition to sharing a few success stories from his experiences, Asanka will also explain
The pattern of building a platform or platform of platforms
How to evangelize the platform
How to onboard business units and application groups
The role of middleware in this process
Two years ago at Devoxx UK we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The large scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important, but equally you must understand specific deployment technologies, security issues, operational reliability, and how to drive organisational transformation. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same. Join us to learn how you can apply this within your team and company.
Software Analytics:Towards Software Mining that Matters (2014)Tao Xie
This document discusses software analytics and summarizes several related papers and projects. It introduces Software Analytics, which aims to enable software practitioners to perform data exploration and analysis to obtain useful insights. It then summarizes papers on techniques for performance debugging by mining stack traces, scalable code clone analysis, incident management for online services, and using games to teach programming.
This document summarizes a presentation about DevOps practices at Trend Micro. It discusses:
- How Trend Micro moved infrastructure to AWS to relieve operations staff and enable more flexible scaling. This allowed faster development cycles through continuous integration and continuous delivery.
- They use AWS services like CloudFormation, OpsWorks, CodePipeline and CloudWatch to automate infrastructure provisioning and application deployments. Infrastructure and applications are defined through templates.
- Lessons learned include fully utilizing CloudFormation to manage resources, parameterizing templates, and being aware of limits when automating at scale with services like OpsWorks.
This document discusses making the Profiles application an OpenSocial container to expand its functionality through gadgets. The authors implemented an OpenSocial API in Profiles by altering the Shindig reference container to work with Profiles' data model. Their goals were to port existing OpenSocial applications and develop new gadgets for Profiles without changing its source code. While they successfully demonstrated proof of concept gadgets, porting existing complex gadgets was challenging due to dependencies beyond the OpenSocial API. The authors conclude that gadgets offer advantages like extensibility without source code changes, but that OpenSocial currently provides limited return on porting existing applications.
By,
Krishna Kumar
This very brief talk gives you an overview of how you can contribute to CNCF (Cloud Native Computing Foundation) not just through the code.
How to contribute to cloud native computing foundation (CNCF)Krishna-Kumar
Contribute to cloud native computing foundation - various ways. This is an introductory presentation given in Container conference in Bangalore April 2017 and may help new comers to get in to the CNCF eco system faster.
WSO2Con ASIA 2016: Enterprise Platform for Digital TransformationWSO2
Enterprises are looking for digital transformation today by making it the highest priority in every CxO and enterprise architect’s task list. This session answers the questions what is digital transformation and how do we get there in a business and technical manner. In addition to sharing a few success stories from his experiences, Asanka will also explain
The pattern of building a platform or platform of platforms
How to evangelize the platform
How to onboard business units and application groups
The role of middleware in this process
Two years ago at Devoxx UK we talked about DevOps, what it was, why it was important and how to get started. Boy, was it scary. Now we’re wiser. More battle-scarred. The large scale of the challenge for application writers exploiting cloud and DevOps is clearer, but so is the path forward. Understanding the DevOps approach is important, but equally you must understand specific deployment technologies, security issues, operational reliability, and how to drive organisational transformation. Whether creating simple applications or sophisticated microservice architectures many of the challenges are the same. Join us to learn how you can apply this within your team and company.
Software Analytics:Towards Software Mining that Matters (2014)Tao Xie
This document discusses software analytics and summarizes several related papers and projects. It introduces Software Analytics, which aims to enable software practitioners to perform data exploration and analysis to obtain useful insights. It then summarizes papers on techniques for performance debugging by mining stack traces, scalable code clone analysis, incident management for online services, and using games to teach programming.
This document summarizes a presentation about DevOps practices at Trend Micro. It discusses:
- How Trend Micro moved infrastructure to AWS to relieve operations staff and enable more flexible scaling. This allowed faster development cycles through continuous integration and continuous delivery.
- They use AWS services like CloudFormation, OpsWorks, CodePipeline and CloudWatch to automate infrastructure provisioning and application deployments. Infrastructure and applications are defined through templates.
- Lessons learned include fully utilizing CloudFormation to manage resources, parameterizing templates, and being aware of limits when automating at scale with services like OpsWorks.
This document discusses making the Profiles application an OpenSocial container to expand its functionality through gadgets. The authors implemented an OpenSocial API in Profiles by altering the Shindig reference container to work with Profiles' data model. Their goals were to port existing OpenSocial applications and develop new gadgets for Profiles without changing its source code. While they successfully demonstrated proof of concept gadgets, porting existing complex gadgets was challenging due to dependencies beyond the OpenSocial API. The authors conclude that gadgets offer advantages like extensibility without source code changes, but that OpenSocial currently provides limited return on porting existing applications.
By,
Krishna Kumar
This very brief talk gives you an overview of how you can contribute to CNCF (Cloud Native Computing Foundation) not just through the code.
How to contribute to cloud native computing foundation (CNCF)Krishna-Kumar
Contribute to cloud native computing foundation - various ways. This is an introductory presentation given in Container conference in Bangalore April 2017 and may help new comers to get in to the CNCF eco system faster.
As DevOps practices have been put into wide use, it's become evident that developers and operations aren't merging to become one discipline. Nor is operations simply going away. Rather, DevOps is leading software development and operations - together with other practices such as security - to collaborate and coexist with less overhead and conflict than in the past.
In his session at @DevOpsSummit at 19th Cloud Expo, Gordon Haff, Red Hat Technology Evangelist, will discuss what modern operational practices look like in a world in which applications are more loosely coupled, are developed using DevOps approaches, and are deployed on software-defined, and often containerized, infrastructures - and where operations itself is increasingly another "as a service" capability from the perspective of developers.
How does the operations tool chest change? How does the required skill set differ? How are the interactions between operations and other IT and business organizations different from in the past? How can operations provide the confidence to the entire organization that this new pipeline is still delivering non-functional requirements such as regulatory compliance and a secure and certified operating environment? How does operations safely consume vendor and upstream dependencies while meeting developer desires for the latest and greatest?
Operations is more important than ever for a business to derive value from its IT organization. But the roles and the goals of operations are significantly different than they were historically.
Duc M. Le is a PhD candidate in computer science at USC studying software architecture and mining software repositories. He has experience in software design, development, and data mining. His research focuses on analyzing architectural changes in open source software systems and predicting potential bugs. He has worked as an intern at several companies including NEC Labs, Veritas, and Samsung Research America.
The goal of this talk is to highlight open source opportunities for students especially through an opportunity to earn $5000 through Google Summer of Code program. I will discuss some of the tips on how to engage with open source communities, the befits for contributing. I will provide motivating examples on how students can gain significant experience in contributing challenging distributed systems problems while impacting scientific research. I will specifically focus with a concrete example of Apache Airavata software suite for Web-based science gateways. I will list some example GSoC topics of interest and provide some recipes for success in getting accepted and navigating through success.
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
UX Antwerp Meetup, 30th of January, 2018 - organised by UXprobe https://www.uxpro.be/
Kristiaan De Roeck, senior IT architect and consultant at IBM
"How IOT, Cloud and Cognitive technology interconnect "
This talk positions "cloud", Internet of Things (IOT) and data analysis to each other. After generating massive amounts of information from the IOT, data is collected, stored and formatted in the Cloud. Then, based on Cognitive technology, data is analyzed with the goal of showing some unexpected outcome. This analysis can be used for any UX-oriented development, and generate insights for new UX perspectives. Kristiaan will describe some case studies; each of the subjects' first "stand alone" analysis, then combined in a bigger context to understand their dependencies.
Bio: Kristiaan De Roeck is a senior IT architect and consultant with 36 years of experienced in solution design, system architecture, information management, service management, and digital transformation projects. Kristiaan works for IBM.
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
Untuk memenangkan kompetisi pasar dan mengatasi mahalnya biaya akuisisi pengguna, diperlukan aplikasi iOS dengan performa tinggi yang siap saing dan pro pada retensi pengguna.
Seorang iOS Developer Expert adalah sosok yang mampu mewujudkan App paripurna tersebut. Minim bug, tinggi level keamanannya, dan kecilnya ukuran aplikasi adalah faktor yang harus ia pertimbangkan demi kenyamanan pengguna.
Sementara itu dari sisi kode, seorang iOS Developer Expert harus memastikan bahwa aplikasinya scalable alias tetap bekerja dengan baik saat produk berubah mengikuti kebutuhan bisnis. App tersebut juga harus robust alias dibangun dengan pondasi kode yang kuat.
Jika tidak, perusahaan akan terbebani biaya pengembangan yang tinggi karena sulitnya perbaikan akibat code smell, yakni kode yang berantakan atau berstruktur buruk.
Dalam IDCamp x Dicoding LIVE kali ini kita akan membahas hal-hal yang mesti seorang iOS Developer Expert pahami, yakni best-practice penerapan teknologi terbaru iOS Development yang industri perlukan, sesuai dengan kebutuhan bisnis.
Jika impianmu adalah menjadi iOS Developer Expert, kamu memerlukan insight ini agar kode menjadi lebih kokoh dan mudah untuk dikembangkan menyesuaikan dengan kebutuhan bisnis.
Poin-poin yang akan dibahas mencakup:
- Apa saja praktik terbaik dan keahlian yang wajib kamu miliki guna menjadi iOS Developer Expert? Kenapa penting?
- Bagaimana kelas Menjadi iOS Developer Expert di Dicoding dapat bantu kamu menjadi iOS Developer Expert?
Scientific Software Challenges and Community ResponsesDaniel S. Katz
a talk given at RTI International on 7 December 2015, discussing 12 scientific software challenges and how the scientific software community is responding to them
The document provides an agenda and summary for an open source support meeting on openEQUELLA. The agenda includes community news, sustaining engineering updates, feature highlights, and a community spotlight. Under community news, there was discussion of an advisory board and developer meetings. Sustaining engineering updates included work on scripts, Docker, and Blackboard integrations. Upcoming events and contacts were also listed.
The document discusses techniques for managing distributed software development across multiple countries. It summarizes EnterpriseDB's approach which blends open source development with a traditional product development lifecycle. Key techniques for communication include video conferencing, email, source code repositories, and documentation wikis to facilitate collaboration between virtual teams.
Today, it is critical that IT teams are able to easily, consistently deploy to production. Running Docker containers on Amazon Web Services makes it possible to engineer a compliant and DevOps-friendly environment from the ground up. Spring Venture Group successfully migrated to AWS with Docker containers and leveraged Logicworks to migrate to AWS and automate infrastructure build-out and deployment. Join our webinar to learn how Spring Venture Group, an innovative insurance brokerage, reduced risk and improved deployment velocity with Logicworks, AWS, and Docker.
This document discusses network softwarization and the role of open source. It begins by defining network softwarization as the trend toward more programmable, software-defined networks achieved through SDN and NFV. It then discusses how open source has played a role in networking, particularly through projects that enable network softwarization like OpenDaylight, OpenStack, and OPNFV. The document concludes by discussing some experiences with open source networking projects at UNICAMP like RouteFlow, libfluid, and Mininet-WiFi, which aim to advance the state of SDN and network programmability through open collaboration.
This document discusses network softwarization and the role of open source. It begins by defining network softwarization as the trend toward more programmable, software-defined networks achieved through SDN and NFV. It then discusses how open source has played a role in networking, particularly through management plane and software appliance projects. Several ongoing open source SDN/NFV projects and standards organizations are presented. Experiences with open source projects like RouteFlow, softswitch13, and Mini-CCNx are summarized. The role of open source in accelerating standardization is also discussed.
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”Cisco DevNet
Programming and API knowledge are common themes across SDN and “Open”. As we focus more on software, we will see a proliferation of APIs and a need to understand programming. An effective _hybrid_ engineer tomorrow will have both solid networking skills as well as an understanding of programmatic concepts. Keeping these technology and industry transitions in mind, Cisco Americas Partners Organization (APO) kicked off “Project Hybrid Engineer” this summer for Cisco Partners SEs with a focus on enhancing hands-on network programmability knowledge. This session highlights some of the key initiatives underway where APO is taking its experiences and enabling key Cisco Partners workforce for Cisco's Network Programmability solutions early on in the lifecycle. If you are a Cisco Partner, come and learn how you can benefit from “Project Hybrid Engineer” and get your workforce ready for this key technology transition.
QCon is an annual engineering conference held in San Francisco that brings together team leads, architects, and project managers. This year's 8th conference featured over 100 speakers across 15 tracks covering topics like microservices, mobile development, Java, and data science. Attendees can learn about cutting-edge technologies from companies like Google, Netflix, and catch up on trends in web development. The conference runs from 9am to 6pm each day and includes meals and social events. Keynote speakers include security expert Bruce Schneier and Leslie Lamport, winner of the 2013 Turing Award. Tracks explore managing microservices at scale, containers and deployment automation, and reactive system architectures.
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSDaniel Krook
OpenStack is the leading open source Infrastructure-as-a-Service, and Cloud Foundry has become the leading open source Platform-as-a-Service. Deploying them together is a natural fit for your next generation systems of engagement.
This special joint meetup of the OpenStack NY and NYC Cloud Foundry communities will give both audiences an introduction to these popular open source IaaS and PaaS projects.
The presentation will describe the compelling advantages of each technology, and then explain how they can be integrated, optimized, and scaled to provide a complete cloud application hosting solution.
EBSCO is a large research platform provider with over 3,200 employees and 150,000 library customers worldwide. Kenzan is a consulting firm that helps companies with digital transformation, including application development and cloud migration. EBSCO is working with Kenzan to migrate its platforms to AWS to achieve goals like high velocity value creation and margin protection through a culture and technology transformation. This involves moving to a microservices architecture in AWS, adopting agile methods, and transitioning to a "development centric operating model" where developers build, deploy, and manage their own software. The transformation aims to increase new feature development by 25% and decrease non-developer labor by 80% through practices like continuous delivery, immutable infrastructure, and automated
Ravi Kiran Godugu is a computer science graduate from Indian Institute of Technology, Jodhpur with a master's degree from University of California, Irvine. He has work experience as an intern and software developer at Yahoo, Morgan Stanley, IBM, and CAIR. His skills include Java, Python, C, JavaScript, Hadoop, MongoDB, Apache Storm, and machine learning tools like R and OpenCV. He has developed systems for online advertising analytics, infrastructure monitoring, security integration, and more. His personal projects include an investment optimization app, a Mario-style game, and a distributed simulation agent.
JCConf.tw 2022 - DevOps for Java developersIxchel Ruiz
In recent years, how we approach development has dramatically changed with the rise of DevOps, Cloud Computing, and Container technologies. Many stakeholders at our organizations are ecstatic about Shift Left, DevSecOps and VSM, but how are we as Java developers embracing this new cultural shift?
In this session we will explore the most common Critical Challenges to Adopt DevOps Culture in
Software Organizations, best practices and some excellent news with success stories.
This document provides an overview of the Singularity project, which aims to build a new operating system and software platform from scratch with a primary goal of dependability. The Singularity system uses software-isolated processes (SIPs) that provide information hiding, failure isolation, and strong interfaces to encapsulate application and system components. SIPs differ from conventional processes by being closed object and code spaces, communicating through typed channels, and having low overhead for creation and communication. The goal of the Singularity system is to demonstrate how new programming languages, compilers, and analysis tools can enable more robust and dependable software architectures.
This document discusses lessons that can be learned from open source software projects and applied to commercial software development. It summarizes that open source projects typically have:
1) Core teams of 15 or fewer people who contribute the majority of code changes and enhancements.
2) Extensive informal communication between developers, through mailing lists and chat sites, which aids coordination.
3) Improved customer support due to many users providing help and feedback.
The document recommends commercial projects emulate open source practices like increasing interaction between developers, whether co-located or distributed, and between developers and users.
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10TechSoup
Visit http://www.techsoup.org to access donated technology for nonprofits and libraries!
Learn about the features and functionality of Microsoft's Windows Server. You get a peek "under the hood" to see some of the newest features from Microsoft's principal program manager for the Windows Server program, Jeff Woolsey.
Investigating Crowd Creativity in Online Music CommunitiesFabio Calefato
This document summarizes research investigating crowd creativity in online music communities. It analyzed three communities (Songtree, ccMixter, Splice) in terms of authors, songs, and reused songs. Five hypotheses about factors influencing song reuse were tested using logistic regression. Surveys found triggers for collaboration included genre flexibility and virtual bands/albums. Data showed songs were more likely to be reused if they generated more reactions, were less derived, and were by authors with high status or custom avatars. The researchers concluded contests should be more varied to foster collaboration over competition and support full music production lifecycles.
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...Fabio Calefato
This document summarizes a study of developers' personalities in large open-source projects within the Apache ecosystem. The study examined whether personality traits change over time, differ between core and peripheral developers, correlate with development activity levels, or change when becoming a core member. The researchers found that Apache developers evolved over time to be more open, agreeable, and neurotic. However, no significant differences were observed between core and peripheral developers or developers with different activity levels. Personality also did not change significantly when becoming a core member. Conscientiousness and openness were found to correlate with increased likelihood of becoming a contributor.
More Related Content
Similar to A Hub-and-Spoke Model for Tool Integration in Distributed Development
As DevOps practices have been put into wide use, it's become evident that developers and operations aren't merging to become one discipline. Nor is operations simply going away. Rather, DevOps is leading software development and operations - together with other practices such as security - to collaborate and coexist with less overhead and conflict than in the past.
In his session at @DevOpsSummit at 19th Cloud Expo, Gordon Haff, Red Hat Technology Evangelist, will discuss what modern operational practices look like in a world in which applications are more loosely coupled, are developed using DevOps approaches, and are deployed on software-defined, and often containerized, infrastructures - and where operations itself is increasingly another "as a service" capability from the perspective of developers.
How does the operations tool chest change? How does the required skill set differ? How are the interactions between operations and other IT and business organizations different from in the past? How can operations provide the confidence to the entire organization that this new pipeline is still delivering non-functional requirements such as regulatory compliance and a secure and certified operating environment? How does operations safely consume vendor and upstream dependencies while meeting developer desires for the latest and greatest?
Operations is more important than ever for a business to derive value from its IT organization. But the roles and the goals of operations are significantly different than they were historically.
Duc M. Le is a PhD candidate in computer science at USC studying software architecture and mining software repositories. He has experience in software design, development, and data mining. His research focuses on analyzing architectural changes in open source software systems and predicting potential bugs. He has worked as an intern at several companies including NEC Labs, Veritas, and Samsung Research America.
The goal of this talk is to highlight open source opportunities for students especially through an opportunity to earn $5000 through Google Summer of Code program. I will discuss some of the tips on how to engage with open source communities, the befits for contributing. I will provide motivating examples on how students can gain significant experience in contributing challenging distributed systems problems while impacting scientific research. I will specifically focus with a concrete example of Apache Airavata software suite for Web-based science gateways. I will list some example GSoC topics of interest and provide some recipes for success in getting accepted and navigating through success.
Kristiaan De Roeck at UX Antwerp Meetup - 30 January 2018UX Antwerp Meetup
UX Antwerp Meetup, 30th of January, 2018 - organised by UXprobe https://www.uxpro.be/
Kristiaan De Roeck, senior IT architect and consultant at IBM
"How IOT, Cloud and Cognitive technology interconnect "
This talk positions "cloud", Internet of Things (IOT) and data analysis to each other. After generating massive amounts of information from the IOT, data is collected, stored and formatted in the Cloud. Then, based on Cognitive technology, data is analyzed with the goal of showing some unexpected outcome. This analysis can be used for any UX-oriented development, and generate insights for new UX perspectives. Kristiaan will describe some case studies; each of the subjects' first "stand alone" analysis, then combined in a bigger context to understand their dependencies.
Bio: Kristiaan De Roeck is a senior IT architect and consultant with 36 years of experienced in solution design, system architecture, information management, service management, and digital transformation projects. Kristiaan works for IBM.
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
Untuk memenangkan kompetisi pasar dan mengatasi mahalnya biaya akuisisi pengguna, diperlukan aplikasi iOS dengan performa tinggi yang siap saing dan pro pada retensi pengguna.
Seorang iOS Developer Expert adalah sosok yang mampu mewujudkan App paripurna tersebut. Minim bug, tinggi level keamanannya, dan kecilnya ukuran aplikasi adalah faktor yang harus ia pertimbangkan demi kenyamanan pengguna.
Sementara itu dari sisi kode, seorang iOS Developer Expert harus memastikan bahwa aplikasinya scalable alias tetap bekerja dengan baik saat produk berubah mengikuti kebutuhan bisnis. App tersebut juga harus robust alias dibangun dengan pondasi kode yang kuat.
Jika tidak, perusahaan akan terbebani biaya pengembangan yang tinggi karena sulitnya perbaikan akibat code smell, yakni kode yang berantakan atau berstruktur buruk.
Dalam IDCamp x Dicoding LIVE kali ini kita akan membahas hal-hal yang mesti seorang iOS Developer Expert pahami, yakni best-practice penerapan teknologi terbaru iOS Development yang industri perlukan, sesuai dengan kebutuhan bisnis.
Jika impianmu adalah menjadi iOS Developer Expert, kamu memerlukan insight ini agar kode menjadi lebih kokoh dan mudah untuk dikembangkan menyesuaikan dengan kebutuhan bisnis.
Poin-poin yang akan dibahas mencakup:
- Apa saja praktik terbaik dan keahlian yang wajib kamu miliki guna menjadi iOS Developer Expert? Kenapa penting?
- Bagaimana kelas Menjadi iOS Developer Expert di Dicoding dapat bantu kamu menjadi iOS Developer Expert?
Scientific Software Challenges and Community ResponsesDaniel S. Katz
a talk given at RTI International on 7 December 2015, discussing 12 scientific software challenges and how the scientific software community is responding to them
The document provides an agenda and summary for an open source support meeting on openEQUELLA. The agenda includes community news, sustaining engineering updates, feature highlights, and a community spotlight. Under community news, there was discussion of an advisory board and developer meetings. Sustaining engineering updates included work on scripts, Docker, and Blackboard integrations. Upcoming events and contacts were also listed.
The document discusses techniques for managing distributed software development across multiple countries. It summarizes EnterpriseDB's approach which blends open source development with a traditional product development lifecycle. Key techniques for communication include video conferencing, email, source code repositories, and documentation wikis to facilitate collaboration between virtual teams.
Today, it is critical that IT teams are able to easily, consistently deploy to production. Running Docker containers on Amazon Web Services makes it possible to engineer a compliant and DevOps-friendly environment from the ground up. Spring Venture Group successfully migrated to AWS with Docker containers and leveraged Logicworks to migrate to AWS and automate infrastructure build-out and deployment. Join our webinar to learn how Spring Venture Group, an innovative insurance brokerage, reduced risk and improved deployment velocity with Logicworks, AWS, and Docker.
This document discusses network softwarization and the role of open source. It begins by defining network softwarization as the trend toward more programmable, software-defined networks achieved through SDN and NFV. It then discusses how open source has played a role in networking, particularly through projects that enable network softwarization like OpenDaylight, OpenStack, and OPNFV. The document concludes by discussing some experiences with open source networking projects at UNICAMP like RouteFlow, libfluid, and Mininet-WiFi, which aim to advance the state of SDN and network programmability through open collaboration.
This document discusses network softwarization and the role of open source. It begins by defining network softwarization as the trend toward more programmable, software-defined networks achieved through SDN and NFV. It then discusses how open source has played a role in networking, particularly through management plane and software appliance projects. Several ongoing open source SDN/NFV projects and standards organizations are presented. Experiences with open source projects like RouteFlow, softswitch13, and Mini-CCNx are summarized. The role of open source in accelerating standardization is also discussed.
DEVNET-1125 Partner Case Study - “Project Hybrid Engineer”Cisco DevNet
Programming and API knowledge are common themes across SDN and “Open”. As we focus more on software, we will see a proliferation of APIs and a need to understand programming. An effective _hybrid_ engineer tomorrow will have both solid networking skills as well as an understanding of programmatic concepts. Keeping these technology and industry transitions in mind, Cisco Americas Partners Organization (APO) kicked off “Project Hybrid Engineer” this summer for Cisco Partners SEs with a focus on enhancing hands-on network programmability knowledge. This session highlights some of the key initiatives underway where APO is taking its experiences and enabling key Cisco Partners workforce for Cisco's Network Programmability solutions early on in the lifecycle. If you are a Cisco Partner, come and learn how you can benefit from “Project Hybrid Engineer” and get your workforce ready for this key technology transition.
QCon is an annual engineering conference held in San Francisco that brings together team leads, architects, and project managers. This year's 8th conference featured over 100 speakers across 15 tracks covering topics like microservices, mobile development, Java, and data science. Attendees can learn about cutting-edge technologies from companies like Google, Netflix, and catch up on trends in web development. The conference runs from 9am to 6pm each day and includes meals and social events. Keynote speakers include security expert Bruce Schneier and Leslie Lamport, winner of the 2013 Turing Award. Tracks explore managing microservices at scale, containers and deployment automation, and reactive system architectures.
OpenStack and Cloud Foundry - Pair the leading open source IaaS and PaaSDaniel Krook
OpenStack is the leading open source Infrastructure-as-a-Service, and Cloud Foundry has become the leading open source Platform-as-a-Service. Deploying them together is a natural fit for your next generation systems of engagement.
This special joint meetup of the OpenStack NY and NYC Cloud Foundry communities will give both audiences an introduction to these popular open source IaaS and PaaS projects.
The presentation will describe the compelling advantages of each technology, and then explain how they can be integrated, optimized, and scaled to provide a complete cloud application hosting solution.
EBSCO is a large research platform provider with over 3,200 employees and 150,000 library customers worldwide. Kenzan is a consulting firm that helps companies with digital transformation, including application development and cloud migration. EBSCO is working with Kenzan to migrate its platforms to AWS to achieve goals like high velocity value creation and margin protection through a culture and technology transformation. This involves moving to a microservices architecture in AWS, adopting agile methods, and transitioning to a "development centric operating model" where developers build, deploy, and manage their own software. The transformation aims to increase new feature development by 25% and decrease non-developer labor by 80% through practices like continuous delivery, immutable infrastructure, and automated
Ravi Kiran Godugu is a computer science graduate from Indian Institute of Technology, Jodhpur with a master's degree from University of California, Irvine. He has work experience as an intern and software developer at Yahoo, Morgan Stanley, IBM, and CAIR. His skills include Java, Python, C, JavaScript, Hadoop, MongoDB, Apache Storm, and machine learning tools like R and OpenCV. He has developed systems for online advertising analytics, infrastructure monitoring, security integration, and more. His personal projects include an investment optimization app, a Mario-style game, and a distributed simulation agent.
JCConf.tw 2022 - DevOps for Java developersIxchel Ruiz
In recent years, how we approach development has dramatically changed with the rise of DevOps, Cloud Computing, and Container technologies. Many stakeholders at our organizations are ecstatic about Shift Left, DevSecOps and VSM, but how are we as Java developers embracing this new cultural shift?
In this session we will explore the most common Critical Challenges to Adopt DevOps Culture in
Software Organizations, best practices and some excellent news with success stories.
This document provides an overview of the Singularity project, which aims to build a new operating system and software platform from scratch with a primary goal of dependability. The Singularity system uses software-isolated processes (SIPs) that provide information hiding, failure isolation, and strong interfaces to encapsulate application and system components. SIPs differ from conventional processes by being closed object and code spaces, communicating through typed channels, and having low overhead for creation and communication. The goal of the Singularity system is to demonstrate how new programming languages, compilers, and analysis tools can enable more robust and dependable software architectures.
This document discusses lessons that can be learned from open source software projects and applied to commercial software development. It summarizes that open source projects typically have:
1) Core teams of 15 or fewer people who contribute the majority of code changes and enhancements.
2) Extensive informal communication between developers, through mailing lists and chat sites, which aids coordination.
3) Improved customer support due to many users providing help and feedback.
The document recommends commercial projects emulate open source practices like increasing interaction between developers, whether co-located or distributed, and between developers and users.
Webinar - Windows Server 2016 for Nonprofits and Libraries - 2017-01-10TechSoup
Visit http://www.techsoup.org to access donated technology for nonprofits and libraries!
Learn about the features and functionality of Microsoft's Windows Server. You get a peek "under the hood" to see some of the newest features from Microsoft's principal program manager for the Windows Server program, Jeff Woolsey.
Similar to A Hub-and-Spoke Model for Tool Integration in Distributed Development (20)
Investigating Crowd Creativity in Online Music CommunitiesFabio Calefato
This document summarizes research investigating crowd creativity in online music communities. It analyzed three communities (Songtree, ccMixter, Splice) in terms of authors, songs, and reused songs. Five hypotheses about factors influencing song reuse were tested using logistic regression. Surveys found triggers for collaboration included genre flexibility and virtual bands/albums. Data showed songs were more likely to be reused if they generated more reactions, were less derived, and were by authors with high status or custom avatars. The researchers concluded contests should be more varied to foster collaboration over competition and support full music production lifecycles.
On Developers’ Personality in Large-scale Distributed Projects: The Case of t...Fabio Calefato
This document summarizes a study of developers' personalities in large open-source projects within the Apache ecosystem. The study examined whether personality traits change over time, differ between core and peripheral developers, correlate with development activity levels, or change when becoming a core member. The researchers found that Apache developers evolved over time to be more open, agreeable, and neurotic. However, no significant differences were observed between core and peripheral developers or developers with different activity levels. Personality also did not change significantly when becoming a core member. Conscientiousness and openness were found to correlate with increased likelihood of becoming a contributor.
A Gold Standard for Emotion Annotation in Stack Overflow Fabio Calefato
This document presents a method for creating a gold standard for emotion annotation in Stack Overflow posts. It describes selecting an emotion classification framework, developing annotation guidelines, and applying those guidelines to annotate a sample of 4,800 posts to create the gold standard dataset. Annotators labeled posts with one of six emotions: joy, love, surprise, anger, sadness, or fear. The document reports the distribution of labels and inter-annotator agreement scores as measures of the gold standard's quality and reliability. It then promotes the released emotion annotation guidelines and gold standard dataset to facilitate replicable and reliable sentiment analysis of software engineering text.
How to Ask for Technical Help? Evidence-based Guidelines for Writing Question...Fabio Calefato
Slides presenting results from our IST paper (https://arxiv.org/abs/1710.04692) / IEEE Software blog post (http://blog.ieeesoftware.org/2017/11/can-we-trust-stack-overflow-netiquette.html) investigating whether we can trust Stack Overflow netiquette for writing better questions.
A Preliminary Analysis on the Effects of Propensity to Trust in Distributed S...Fabio Calefato
This study analyzed the effects of an individual's propensity to trust on the successful collaboration in distributed software projects. The researchers collected data on 218 pull requests from one open source project involving 6 integrators. They used integrators' email language and the Big 5 personality model's agreeableness trait as a proxy for propensity to trust. Logistic regression found integrators with high propensity to trust were 34% more likely to accept pull requests, even after controlling for other factors. However, the study had limitations including focusing on one project and using agreeableness as the sole measure of propensity to trust. Further research on more projects is needed.
Affective Trust as a Predictor of Successful Collaboration in Distributed Sof...Fabio Calefato
This document summarizes a research study on using sentiment analysis to measure affective trust in distributed software development teams. The researchers propose that affective trust between developers can be measured by the amount of positive sentiment or "affective lexicon" expressed in pull request comments over time. They hypothesize that affective lexicon will decrease as trust develops, and that more affective lexicon in previous comments will increase the chances a pull request is accepted. The researchers plan to build a sentiment analysis tool trained on software engineering texts to analyze pull request data from GitHub and identify cases where affective language shifts as trust is established.
Facing communication challenges in collaborative developmentFabio Calefato
The document discusses communication challenges in distributed software development. It begins by explaining that software development requires intense collaboration, including communication, coordination, and control. When development is distributed, distance negatively impacts coordination and control by disrupting communication. The document then examines different types of communication, such as direct vs indirect and formal vs informal.
The rest of the document outlines several communication challenges that will be discussed, including finding the best media for communication-intensive tasks, overcoming language barriers with machine translation, and establishing personal connections in distributed teams. It provides details on studies conducted to examine these challenges, such as comparing face-to-face and computer-mediated communication for requirements elicitation and negotiation. The document concludes by summarizing
Can social awareness foster trust building in global software teams?Fabio Calefato
This document describes a study investigating whether social awareness fostered through social media can build trust in global software teams. It presents a theoretical model of trust antecedents and proposes using a tool called SocialCDE to aggregate developers' personal social media content in their workspaces. The study design involves a field study of an open source project and a controlled experiment comparing teams using Visual Studio with and without SocialCDE. The goal is to analyze collected data and determine if social awareness positively correlates with affective trust and project performance between distant teams.
Mending Clothing to Support Sustainable Fashion_CIMaR 2024.pdfSelcen Ozturkcan
Ozturkcan, S., Berndt, A., & Angelakis, A. (2024). Mending clothing to support sustainable fashion. Presented at the 31st Annual Conference by the Consortium for International Marketing Research (CIMaR), 10-13 Jun 2024, University of Gävle, Sweden.
SDSS1335+0728: The awakening of a ∼ 106M⊙ black hole⋆Sérgio Sacani
Context. The early-type galaxy SDSS J133519.91+072807.4 (hereafter SDSS1335+0728), which had exhibited no prior optical variations during the preceding two decades, began showing significant nuclear variability in the Zwicky Transient Facility (ZTF) alert stream from December 2019 (as ZTF19acnskyy). This variability behaviour, coupled with the host-galaxy properties, suggests that SDSS1335+0728 hosts a ∼ 106M⊙ black hole (BH) that is currently in the process of ‘turning on’. Aims. We present a multi-wavelength photometric analysis and spectroscopic follow-up performed with the aim of better understanding the origin of the nuclear variations detected in SDSS1335+0728. Methods. We used archival photometry (from WISE, 2MASS, SDSS, GALEX, eROSITA) and spectroscopic data (from SDSS and LAMOST) to study the state of SDSS1335+0728 prior to December 2019, and new observations from Swift, SOAR/Goodman, VLT/X-shooter, and Keck/LRIS taken after its turn-on to characterise its current state. We analysed the variability of SDSS1335+0728 in the X-ray/UV/optical/mid-infrared range, modelled its spectral energy distribution prior to and after December 2019, and studied the evolution of its UV/optical spectra. Results. From our multi-wavelength photometric analysis, we find that: (a) since 2021, the UV flux (from Swift/UVOT observations) is four times brighter than the flux reported by GALEX in 2004; (b) since June 2022, the mid-infrared flux has risen more than two times, and the W1−W2 WISE colour has become redder; and (c) since February 2024, the source has begun showing X-ray emission. From our spectroscopic follow-up, we see that (i) the narrow emission line ratios are now consistent with a more energetic ionising continuum; (ii) broad emission lines are not detected; and (iii) the [OIII] line increased its flux ∼ 3.6 years after the first ZTF alert, which implies a relatively compact narrow-line-emitting region. Conclusions. We conclude that the variations observed in SDSS1335+0728 could be either explained by a ∼ 106M⊙ AGN that is just turning on or by an exotic tidal disruption event (TDE). If the former is true, SDSS1335+0728 is one of the strongest cases of an AGNobserved in the process of activating. If the latter were found to be the case, it would correspond to the longest and faintest TDE ever observed (or another class of still unknown nuclear transient). Future observations of SDSS1335+0728 are crucial to further understand its behaviour. Key words. galaxies: active– accretion, accretion discs– galaxies: individual: SDSS J133519.91+072807.4
Signatures of wave erosion in Titan’s coastsSérgio Sacani
The shorelines of Titan’s hydrocarbon seas trace flooded erosional landforms such as river valleys; however, it isunclear whether coastal erosion has subsequently altered these shorelines. Spacecraft observations and theo-retical models suggest that wind may cause waves to form on Titan’s seas, potentially driving coastal erosion,but the observational evidence of waves is indirect, and the processes affecting shoreline evolution on Titanremain unknown. No widely accepted framework exists for using shoreline morphology to quantitatively dis-cern coastal erosion mechanisms, even on Earth, where the dominant mechanisms are known. We combinelandscape evolution models with measurements of shoreline shape on Earth to characterize how differentcoastal erosion mechanisms affect shoreline morphology. Applying this framework to Titan, we find that theshorelines of Titan’s seas are most consistent with flooded landscapes that subsequently have been eroded bywaves, rather than a uniform erosional process or no coastal erosion, particularly if wave growth saturates atfetch lengths of tens of kilometers.
Microbial interaction
Microorganisms interacts with each other and can be physically associated with another organisms in a variety of ways.
One organism can be located on the surface of another organism as an ectobiont or located within another organism as endobiont.
Microbial interaction may be positive such as mutualism, proto-cooperation, commensalism or may be negative such as parasitism, predation or competition
Types of microbial interaction
Positive interaction: mutualism, proto-cooperation, commensalism
Negative interaction: Ammensalism (antagonism), parasitism, predation, competition
I. Mutualism:
It is defined as the relationship in which each organism in interaction gets benefits from association. It is an obligatory relationship in which mutualist and host are metabolically dependent on each other.
Mutualistic relationship is very specific where one member of association cannot be replaced by another species.
Mutualism require close physical contact between interacting organisms.
Relationship of mutualism allows organisms to exist in habitat that could not occupied by either species alone.
Mutualistic relationship between organisms allows them to act as a single organism.
Examples of mutualism:
i. Lichens:
Lichens are excellent example of mutualism.
They are the association of specific fungi and certain genus of algae. In lichen, fungal partner is called mycobiont and algal partner is called
II. Syntrophism:
It is an association in which the growth of one organism either depends on or improved by the substrate provided by another organism.
In syntrophism both organism in association gets benefits.
Compound A
Utilized by population 1
Compound B
Utilized by population 2
Compound C
utilized by both Population 1+2
Products
In this theoretical example of syntrophism, population 1 is able to utilize and metabolize compound A, forming compound B but cannot metabolize beyond compound B without co-operation of population 2. Population 2is unable to utilize compound A but it can metabolize compound B forming compound C. Then both population 1 and 2 are able to carry out metabolic reaction which leads to formation of end product that neither population could produce alone.
Examples of syntrophism:
i. Methanogenic ecosystem in sludge digester
Methane produced by methanogenic bacteria depends upon interspecies hydrogen transfer by other fermentative bacteria.
Anaerobic fermentative bacteria generate CO2 and H2 utilizing carbohydrates which is then utilized by methanogenic bacteria (Methanobacter) to produce methane.
ii. Lactobacillus arobinosus and Enterococcus faecalis:
In the minimal media, Lactobacillus arobinosus and Enterococcus faecalis are able to grow together but not alone.
The synergistic relationship between E. faecalis and L. arobinosus occurs in which E. faecalis require folic acid
A Hub-and-Spoke Model for Tool Integration in Distributed Development
1. A Hub-and-Spoke Model for Tool
Integration
in Distributed Development
Fabio Calefato, Filippo Lanubile
University of Bari, Italy
ICGSE’16
Orange County, California – USA, August 2-5, 2016
2. Challenges for
SW Developers
• Growing plethora of
tools need to manages
SW projects
– API, source code,
emails, build &
deployment updates,
social media, …
– Continual stream of
updates
• Information overload
– Channel overload
– Information
fragmentation
Hub-and-Spoke Model @ ICGSE'16
3. Information Awareness
• Keeping up with
updates as time-
consuming as vital
• Information helps
developer maintain
awareness
• Developers seek info
on coworkers, tasks,
and artifacts
– Informal
– Social
– Group-structural
– Workspace
Situational
awareness
“An understanding of the activities of
others, which provides a context for
your own activity” [1]
“A state of mind where people are
aware of elements in their
immediate environments” [2]
[1] Dourish & Bellotti. “Awareness and coordination in shared workspaces.” (CSCW '92)
[2] Baysal et al. “Situational awareness: personalizing issue tracking systems.” (ICSE '13)
4. Solution
• Tool Integration
• Wasserman’s definition of integrated
environment [3]
– “One platform that allows project teams to control
the entire process and its data through a
common presentation layer”
– E.g., IDEs
– From heavyweight to lightweight integration
[3] A.I. Wasserman. “Tool integration in software engineering environments” LNCS, Vol. 647, 1989
5. Hub-and-Spoke Model
CD hub
CI hub
Communication
hub
hub tool
satellite tool
bidir. communication
unidir. communication
filtering
Team
messages
Build
notification
Code change
notification
Test
notification
Monitoring & Analytics
alert
Delivery
notification
Deployment
notification
Issue change
notification
E-mail
notification
Commands
6. Case Study Scenario
Foobar
• Software enterprise
• Global Software
Development
• SaaS product
• Spreading DevOps
Hub-and-Spoke Model @ ICGSE'16
7. Instance for Java projects
@Foobar
CI hub
Communication
hub
CD hub
Build
notification
Code change
notification
Issue change
notification
Test
notification
E-mail
notification
ChatOps
Commands
Team
messages
8. Why Slack as
Communication Hub
• Built-in search
capability
• IFTTT/Zapier for if-
then rules
• Hundreds of built-in
tool integrations
• Slack API for custom
integrations
– Web API
– Real Time Messaging
– Incoming/Outgoing
Webhooks
– Slash Commands
– Bots
8Hub-and-Spoke Model @ ICGSE'16
9. It is not necessarily Slack
Hub-and-Spoke Model @ ICGSE'16
10. Ongoing & Future work
• Complete the model instantiated for Foobar
– Slack/Ansible connection
– Smart notification filtering (e.g., bots, NLP, AI…)
• Need for repeated industrial case studies
– Companies with different backgrounds
– Common framework of analysis for comparing
results
Hub-and-Spoke Model @ ICGSE'16
I’m going to talk about an ongoing effort for the definition of a model that aims at the lightweight interconnection of tools needed by developers in distributed development,
Which is a real challenge
Today an ever-growing plethora of different tools are needed to develop and manage distributed software projects that keep growing in both size and complexity.
The effect of more and more tools producing more and more information is placing developers into a well-known situation of information overload that is actually the combined results of channel overload and information fragmentation and. As such, the productivity of software developers is constantly undermined by a growing flow of information available at different places: API documentation to read, source code to traverse, build and deployment updates, email, RSS feeds and social media notifications, all provide a continual stream of updates that is difficult to keep track of.
Keeping up with these updates, however, is as consuming as vital because they provide developers with different information elements that are needed to keep aware of what is happening within a software project, especially if distributed. In fact, awareness, defined as “an understanding of the activities of others, which provides a context for your own activity” [8], is fundamental in distributed software development as it provides mechanisms to coordinate group activities.
According to Gutwin et al. [10], the members of a group typically seek information on coworkers, tasks, and artifacts. Following these information needs, four types of awareness have been acknowledged so far: (i) informal or presence awareness, i.e., who is around and their availability; (ii) group-structural awareness, i.e., members’ roles and teams’ internal structure; (iii) workspace awareness, i.e., who changed a shared artifact and when; (iv) social awareness, i.e., the understanding about existing social connections within a group [4]. Taken together, these four types help individuals build and maintain their situational awareness, a term used in cognitive psychology to refer to a state of mind where a person is aware of the elements of their immediate environments.
Hipikat, Mylyn, and Palantir are three successful examples of tools that help developers maintain a situational awareness in software development environments.
So can we find a solution to channel overload and information fragmentation and overload?
So can we find a solution to channel overload and information fragmentation?
we can combine and integrate this plethora of tools
The topic of tool integration flourished during the ‘90s, following the desire to produce software engineering environments that would support the entire development lifecycle through the combination of different tools, each addressing a different aspect of the development process. An example of such tool integrations are the IDEs, that is, integrated development environments built around a source code editor, a compiler, a debugger and a build automation tool.
IDEs lost their momentum in mid 2000
In software engineering research, it is not uncommon to observe that a thesis proposed in one decade is replaced by its antithesis during the next one [2]. Therefore, as software first started to turn into Web services, with the diffusion of Service-Oriented Architectures (SOA), and then moved to the cloud, with the spread of the Software-as-a-Service (SaaS) delivery model, heavy weight integrations started to be replaced by a loosely-coupled integrations of multiple standalone services into a new compound one.
Our proposed solution for a loosely-coupled, lightweight integration of software development tools.
The model is inspired by a model often used in telecommunication and also in transportation, especially as a paradigm to model airline route structures between large and small airports
Unlike Wasserman’ definition, this model relies on the lightweight interconnections of services. That is, it ditches the idea of building a single platform with a unified user interface, instead proposing the idea of (i) controlling the development process and (ii) accessing project data through a few central tools.
Such ‘central’ tools are called hubs because they act as collectors of information produced by satellite tools, such as issue tracking and version control systems, email and IM clients. In our model, developers still have access to the satellite tools as usual, without having to use them through a unified platform. Project-related information flows through the spokes that connect the satellites to the hubs. In our model, we envision three logical types of hubs:
Continuous Integration (CI) hub - represents the toolset that a development team adopts to support the frequent (i.e., several times a day) integration of code changes in the main line of development [9]. Typically, it is implemented through a CI server that automatically builds and tests the code base upon changes.
Continuous Delivery/Deployment (CD) hub -- it may refer to either Continuous Delivery or Continuous Deployment, depending on the development process adopted. Both Continuous Delivery and Deployment are natural extensions of CI because they presume that developers perform continuous integration of code changes. Finally, we note that CD and CI hubs are represented in Fig. 1 as logically separated, although in practice they might be available through one software solution.
Communication hub -- All the three hubs are interconnected, meaning that notifications flow either way between them. As such, team-wide communication happens through the Communication hub, meaning that notifications from the CI and CD hubs – e.g., a failed build alert – are not dispatched to the team directly, but rather through the Communication hub. One benefit of this dispatching solution is that teams have (ideally) one place to go for checking all project events notifications and avoid constant switching between tools to read notifications. The second benefit is the possibility of applying recommendations to notifications, that is, to filter and rank them for each developer in order to reduce the information overload. Implemented by bots, these filtering and ranking operations can be tailored upon developers’ activities and roles. More specifically, the information filtering and ranking may depend on developers’ own awareness network, that is, the set of relevant teammates whose actions one monitors and to whom one’s actions are displayed [7]. An awareness network is the means by which developers keep up to date their overall situational awareness about teammates, tasks and shared artifacts; as such, it is highly dynamic because the set of relevant colleagues constantly changes over time, depending on one’s task assignments or the current stage of the software development process. Therefore, the relevance and priority of notifications dispatched from the Communication hub to developers will vary depending on the current configuration of their awareness network.
Furthermore, all satellite nodes are connected to one of the hubs through an arrow to indicate a unidirectional communication flow. Instead, between the Communication hub and the Team messages node there is a bidirectional communication. This node represents the intra-team communication tool of choice, which can receive notifications from as well as send messages to the Communication hub. Having only one tool handling all the intra-team communication avoids having separate conversation silos and relevant information split across them. Thus, all the important project information from various data sources – messages, commits and deployments notifications, performance alerts – are gathered and displayed in one place.
Finally, as for the Commands node, the tool selected for acting as the Communication hub should be extensible to let developers interact with the development infrastructure by simply typing commands. More specifically, this form of conversation-driven development, or ChatOps as GitHub popularized it [11], is intended to automate tasks, particularly Operations tasks, which become easy to the point that any member of the team can perform them by typing one command with a familiar user interface. Therefore, our hub-and-spoke model can be beneficial to foster DevOps practices in distributed projects through ChatOps. ChatOps pushes towards the automation of delivery and deployment tasks – then, fostering CD.
Foobar is the fictional name of a medium-sized software company that works in the publishing industry. The company is distributed across Europe and the USA, and it has recently opened a development site in Italy where it is progressively moving the responsibility of coordinating most of the company’s projects.
The company is facing channel-overload and information-fragmentation issues due to the large set of tools that developers use in their projects. The more projects they have to handle, the more tool the development team has to use
The manager really struggles to keep up with all the notifications, situation is exploding.
In addition, as the manager of the Italian site told us, the company is looking for opportunities to spread DevOps practices
In Fig. 2, we show the hub-and-spoke integration model instantiated with respect to the needs of the Foobar company. Although the Italian site contributes to projects written in three main programming languages (Java, JavaScript and Ruby), the instantiated model refers in particular to the case of Java projects. For JavaScript and Ruby projects, the testing frameworks would change accordingly.
In this case, Jenkins is used as CI server, Ansible as the CDD hub, and Slack as CH.
Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson, one of the most used CI server along with Travis.
Ansible is an open-source automation engine that automates, among the other things such as service orchestration, application deployment
Slack is Modern team communication tool that dubs itself the Alternative to email for intra-team communication.
Features
Ubiquitous -- Available as web, desktop and mobile app
Public channels
Private user groups
Direct messages
File sharing
Tool integration – various APIs
All the code-related notifications – changes, issues, test and build – are dispatched thru Jenkins. Successfull builds are delivered to the Artifactory repository.
All these notifications , are then forward them to Slack. Jenkins and Ansible are going to be integrated with Slack using its API, thus defining a publish/subscribe communication model for dispatching notifications to and from the Communication hub. Its Messaging API, it will be used to route messages that are relevant for the project coming from other communication sources (e.g., email clients).
The red arrows represent the connection that have been already implemented, the others are already available because supported by the respective hubs. The one we’re working on is the ansible-slack integration thru a pair of custom plugins
the Web API to create tool integrations other than those listed above as we see fit. this instantiated model that we have just shown before might be extended with other hubs that fulfill future needs of the company, as long as they can be connected to the communication hub.
Likewise, Real Time Messaging API, it will be used to route messages that are relevant for the project coming from other communication sources.
In particular, we intend to use the Slash Command API to implement custom ChatOps commands that would help, for example, the developer staff take care of the deployment (e.g., /deploy project-name location), force a new build (e.g., /build project-name) or re-execute test suites even without changes to the code repository (e.g., /test project-name alltests). In general, we foresee to add several commands to control the various phases of the development process.
As for the Bot Users API, it will be used to implement automatic reaction to certain messages. For example, a bot can proactively respond to performance alerts of an application deployed to the cloud and automatically add new nodes to handle the increased traffic load. Besides, bots would enable the filtering and prioritization of notifications. In fact, Slack is intended to collect all the project- and team-related communications, it is soon going to be overloaded with them. As of now, Slack has a limited support for filtering, as it allows the definition of channels, similar to IRC chat rooms where information can be categorized, and silencing notifications unless one’s recipient (in the form of @username mentions) is specified in the message body. Thus, bots can implement more sophisticated recommendations based of the severity of the messages and the structure of the development team. For example, a team manager may not want to be notified of all new bug reports, but is definitely willing to receive a prompt alert in case of crash reports. Finally, we are going to use
HipChat is first example of successfull hosted group chat and video chat built for business and teams.
Mattermost is an open source, self-hosted Slack-alternative, i.e. an alternative to proprietary SaaS messaging,
StackTodo. Toolset for Slack, i.e., Bots, tools and apps that make working in Slack even more productive.