This document presents an approach for automatically identifying antipatterns in microservice-based systems. It defines a meta-model with 13 components to capture necessary information about a system and its microservices. It also identifies 15 common microservice antipatterns. Detection rules are defined for each antipattern based on analyzing the system's source code, dependencies, configuration and other artifacts. The goal is to develop a tool based on this approach to help developers minimize antipatterns in microservice systems and improve their maintenance and evolution.
Tutorial given at ER 2019. It provides a state of the art in data-driven requirements engineering dealing with topics like feedback management, decision-making and others
HANDI Summit 18 - Introducing HANDI-HOPD - Dr Ian McNicollHANDI HEALTH
NHS England hosted the HANDI-HOPD Summit in London on the 18th September. This was attended by an invited audience of around 40 people to discuss plans to take the HANDI-HOPD platform forward to the NHS England Open Source Open Day on the 26th of November in Newcastle-Upon-Tyne where is will be launched as the Platform for NHS Code4Health.
Dr Ian McNicoll, gave an overview of how the platform worked and a description of the key open standards and how the could be used by developers to rapidly build interoperable health and care software. He also described how the platform provided a rigorous process fro the development, curation and publication of clinical content models and facilitated the easy engagement of clinicians in the process.
Hungarian Electronic Public Administration Interoperability Framework (MEKIK)...Csaba Krasznay
The huge project of the MEKIK (Hungarian Electronic Public Administration Interoperability Framework) has already been started; the next steps were the specification of the middleware and MEKIK portal and the pilot implementation of technical standards catalogue that would be accessible via this portal. These requirements affected the work in connection with the secure communication and the usage of electronic signature in the public administration. The project – correspondingly to the standards of the catalogue – also covered the general conception of security framework, requirements of certification service providers, signature creation application and devices, cryptographic protocols, legal aspects and secures mobile communication. This article introduces the actualities in connection with the interoperability of electronic public administration.
Access recording: https://hubs.ly/H0mjh4n0
Integrations are crucial to making the IoT a global ecosystem of connected infrastructures. With a growing rate of innovation and adoption of RTLS solutions in various industries, we’ve moved forward to the solution side after developing our integration with Cassia Networks on the infrastructure side. We’ve now completed our infrastructure integration, which gives Kontakt.io customers a reliable method of monitoring and managing their Bluetooth-LE devices, and Cassia’s customers have a seamless out-of-the-box RTLS solution without the need to spend resources on developing their own integrations.
Tutorial given at ER 2019. It provides a state of the art in data-driven requirements engineering dealing with topics like feedback management, decision-making and others
HANDI Summit 18 - Introducing HANDI-HOPD - Dr Ian McNicollHANDI HEALTH
NHS England hosted the HANDI-HOPD Summit in London on the 18th September. This was attended by an invited audience of around 40 people to discuss plans to take the HANDI-HOPD platform forward to the NHS England Open Source Open Day on the 26th of November in Newcastle-Upon-Tyne where is will be launched as the Platform for NHS Code4Health.
Dr Ian McNicoll, gave an overview of how the platform worked and a description of the key open standards and how the could be used by developers to rapidly build interoperable health and care software. He also described how the platform provided a rigorous process fro the development, curation and publication of clinical content models and facilitated the easy engagement of clinicians in the process.
Hungarian Electronic Public Administration Interoperability Framework (MEKIK)...Csaba Krasznay
The huge project of the MEKIK (Hungarian Electronic Public Administration Interoperability Framework) has already been started; the next steps were the specification of the middleware and MEKIK portal and the pilot implementation of technical standards catalogue that would be accessible via this portal. These requirements affected the work in connection with the secure communication and the usage of electronic signature in the public administration. The project – correspondingly to the standards of the catalogue – also covered the general conception of security framework, requirements of certification service providers, signature creation application and devices, cryptographic protocols, legal aspects and secures mobile communication. This article introduces the actualities in connection with the interoperability of electronic public administration.
Access recording: https://hubs.ly/H0mjh4n0
Integrations are crucial to making the IoT a global ecosystem of connected infrastructures. With a growing rate of innovation and adoption of RTLS solutions in various industries, we’ve moved forward to the solution side after developing our integration with Cassia Networks on the infrastructure side. We’ve now completed our infrastructure integration, which gives Kontakt.io customers a reliable method of monitoring and managing their Bluetooth-LE devices, and Cassia’s customers have a seamless out-of-the-box RTLS solution without the need to spend resources on developing their own integrations.
Building a reliable and scalable IoT platform with MongoDB and HiveMQDominik Obermaier
Today’s Internet of Things (IoT) is enabling companies to blend together the physical and digital worlds, creating new business models and generating insights that increase productivity at once unimaginable levels. However, managing the ever growing volume of heterogeneous IoT data from disparate devices, systems and applications both on premise and in the cloud can be a challenging endeavour without a scalable and reliable IoT platform.
In this webinar, we will explore why and how companies are leveraging HiveMQ and MongoDB to build exactly that: a scalable and reliable IoT platform. Based upon a sample fleet management scenario, we will explain how telematics data can be routed via MQTT and efficiently stored to provide analytics and insights into the data.
Key Learnings
- Common challenges and pitfalls of IoT projects
- Required components for effectively handling data with an IoT platform
- HiveMQ for MQTT to enable bi-directional device communication over unstable networks
- MongoDB as the flexible and scalable modern data platform combining data from different sources and powering your applications
- Why MongoDB and HiveMQ is such a great combination
Red Hat Israel Meetup 2019 - Agile IntegrationYaakov Preiger
Agile integration - Connecting the dots of everything-distributed-architecture. A modern approach of integration with API management, service mesh, fuse, kafka and more
This presentation compares the history of modern transportation to the evolution of software architectures, and provides practical guidance on moving a large organization to microservices.
Managing microservices with Istio Service MeshRafik HARABI
Developing and managing hundreds (or maybe thousands) of microservices at scale is a challenge for both development and operations teams.
We have seen over the last years the appearance of new frameworks dedicated to deliver ‘Cloud Native’ applications by providing a set of (out of box) building blocks. Most of these frameworks integrate microservices concerns at the code level.
Recently, we have seen the emerging of a new pattern known as sidecar or proxy promoting to push all these common concerns outside of the business code and provides them on the edge by integrate a new layer to the underlying platform called Service Mesh.
Istio is one of the leading Service Mesh implementing sidecar pattern.
We will go during the presentation throw the core concepts behind Istio, the capabilities that provides to manage, secure and observe microservices and how it gives a new breath for both developers and operations.
The presentation will be guided by a sequence of demo exposing Istio capabilities.
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2
APIs are taking over every vertical out there with its standards, reusability, and simplicity that are required to operate in the present world. However as the number of APIs grows along with the users who access and use these APIs, the need for proper management and governance is required more than ever.
API Management within a Microservice ArchitectureWSO2
This slide deck will discuss API management's role in a microservices ecosystem. It will discuss the purpose of edge gateways and proxies and how that complements a well defined API management layer.
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
Stefano discusses how to augment service mesh functionality with API management capabilities, so you can create an end-to-end solution for your entire business functionality — from microservices, to APIs, to end-user applications.
Denodo as the Core Pillar of your API StrategyDenodo
Watch full webinar here: https://buff.ly/2KTz2IB
Most people associate data virtualization with BI and analytics. However, one of the core ideas behind data virtualization is the decoupling of the consumption method from the data model. Why should the need for data requests in JSON over HTTP require extra development? Denodo provides immediate access to its datasets via REST, OData 4, GeoJSON and other protocols, with no coding involved. Easy to scale, cloud friendly and ready to integrate with API management tools, Denodo can be the perfect tool to fulfill your API strategy!
Attend this session to learn:
- What’s the role of Denodo in an API strategy
- Integration between Denodo and other elements of the API stack, like API management tools
- How easy it is to access Denodo as a RESTful endpoint
- Advanced options of Denodo web services: OAuth, OpenAPI, geographical capabilities, etc.
The Cytoscape Cyberinfrastructure extends Cytoscape and its community into web-connected services.The CI is a Service Oriented Architecture that supports network biology oriented computations that can be orchestrated into repeatable workflows.
The Role of Data Virtualization in an API EconomyDenodo
You can watch the webinar on demand here: https://buff.ly/2RQltuF
Digital transformation, even though a cliché, is definitely on top of every CEO's strategic initiative list. At the heart of any digital transformation, no matter the industry or the size of the company, there is an API strategy. Application programming interfaces (APIs) are the connection points between one application and another, and as such, they enable applications to build on each other, extend each other, and work with each other. Taken together, APIs represent a thriving ecosystem of developers that is showing no sign of slowing down.
Attend this webinar to learn:
• How data virtualization greatly enhances the capabilities of an API
• How data virtualization works as a service container, as a source for microservices and as an API gateway
• How data virtualization can create managed data services ecosystems in a thriving API economy
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
Microservice architecture (MSA) is fast becoming a popular architecture pattern in today’s agile enterprises. Its iterative architecture and development methodologies are attracting the interest of architects who need continuous delivery to fulfill business needs. But, is every characteristic of MSA new or even pragmatic? Can MSA alone help you solve your enterprise challenges? This session will explore how middleware plays a key role in successful MSA-based implementations.
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
NSERC Discovery grant applications are judged according to four criteria: (1) Excellence of the researcher, (2) Merit of the proposal, (3) Contribution to the training of HQP, and (4) Cost of research. Each criterion has six possible merit indicators: Exceptional, Outstanding, Very strong, Strong, Moderate, and Insufficient. This presentation describes the process from a candidate's point of view and a reviewer's point of view. It discusses funding decisions, including bins and ER vs. ECR. It gives some advice, including graduating PhD students, having a story, and limiting the number of main objectives.
Building a reliable and scalable IoT platform with MongoDB and HiveMQDominik Obermaier
Today’s Internet of Things (IoT) is enabling companies to blend together the physical and digital worlds, creating new business models and generating insights that increase productivity at once unimaginable levels. However, managing the ever growing volume of heterogeneous IoT data from disparate devices, systems and applications both on premise and in the cloud can be a challenging endeavour without a scalable and reliable IoT platform.
In this webinar, we will explore why and how companies are leveraging HiveMQ and MongoDB to build exactly that: a scalable and reliable IoT platform. Based upon a sample fleet management scenario, we will explain how telematics data can be routed via MQTT and efficiently stored to provide analytics and insights into the data.
Key Learnings
- Common challenges and pitfalls of IoT projects
- Required components for effectively handling data with an IoT platform
- HiveMQ for MQTT to enable bi-directional device communication over unstable networks
- MongoDB as the flexible and scalable modern data platform combining data from different sources and powering your applications
- Why MongoDB and HiveMQ is such a great combination
Red Hat Israel Meetup 2019 - Agile IntegrationYaakov Preiger
Agile integration - Connecting the dots of everything-distributed-architecture. A modern approach of integration with API management, service mesh, fuse, kafka and more
This presentation compares the history of modern transportation to the evolution of software architectures, and provides practical guidance on moving a large organization to microservices.
Managing microservices with Istio Service MeshRafik HARABI
Developing and managing hundreds (or maybe thousands) of microservices at scale is a challenge for both development and operations teams.
We have seen over the last years the appearance of new frameworks dedicated to deliver ‘Cloud Native’ applications by providing a set of (out of box) building blocks. Most of these frameworks integrate microservices concerns at the code level.
Recently, we have seen the emerging of a new pattern known as sidecar or proxy promoting to push all these common concerns outside of the business code and provides them on the edge by integrate a new layer to the underlying platform called Service Mesh.
Istio is one of the leading Service Mesh implementing sidecar pattern.
We will go during the presentation throw the core concepts behind Istio, the capabilities that provides to manage, secure and observe microservices and how it gives a new breath for both developers and operations.
The presentation will be guided by a sequence of demo exposing Istio capabilities.
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2
APIs are taking over every vertical out there with its standards, reusability, and simplicity that are required to operate in the present world. However as the number of APIs grows along with the users who access and use these APIs, the need for proper management and governance is required more than ever.
API Management within a Microservice ArchitectureWSO2
This slide deck will discuss API management's role in a microservices ecosystem. It will discuss the purpose of edge gateways and proxies and how that complements a well defined API management layer.
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...WSO2
Stefano discusses how to augment service mesh functionality with API management capabilities, so you can create an end-to-end solution for your entire business functionality — from microservices, to APIs, to end-user applications.
Denodo as the Core Pillar of your API StrategyDenodo
Watch full webinar here: https://buff.ly/2KTz2IB
Most people associate data virtualization with BI and analytics. However, one of the core ideas behind data virtualization is the decoupling of the consumption method from the data model. Why should the need for data requests in JSON over HTTP require extra development? Denodo provides immediate access to its datasets via REST, OData 4, GeoJSON and other protocols, with no coding involved. Easy to scale, cloud friendly and ready to integrate with API management tools, Denodo can be the perfect tool to fulfill your API strategy!
Attend this session to learn:
- What’s the role of Denodo in an API strategy
- Integration between Denodo and other elements of the API stack, like API management tools
- How easy it is to access Denodo as a RESTful endpoint
- Advanced options of Denodo web services: OAuth, OpenAPI, geographical capabilities, etc.
The Cytoscape Cyberinfrastructure extends Cytoscape and its community into web-connected services.The CI is a Service Oriented Architecture that supports network biology oriented computations that can be orchestrated into repeatable workflows.
The Role of Data Virtualization in an API EconomyDenodo
You can watch the webinar on demand here: https://buff.ly/2RQltuF
Digital transformation, even though a cliché, is definitely on top of every CEO's strategic initiative list. At the heart of any digital transformation, no matter the industry or the size of the company, there is an API strategy. Application programming interfaces (APIs) are the connection points between one application and another, and as such, they enable applications to build on each other, extend each other, and work with each other. Taken together, APIs represent a thriving ecosystem of developers that is showing no sign of slowing down.
Attend this webinar to learn:
• How data virtualization greatly enhances the capabilities of an API
• How data virtualization works as a service container, as a source for microservices and as an API gateway
• How data virtualization can create managed data services ecosystems in a thriving API economy
[WSO2Con EU 2017] Microservices for EnterprisesWSO2
Microservice architecture (MSA) is fast becoming a popular architecture pattern in today’s agile enterprises. Its iterative architecture and development methodologies are attracting the interest of architects who need continuous delivery to fulfill business needs. But, is every characteristic of MSA new or even pragmatic? Can MSA alone help you solve your enterprise challenges? This session will explore how middleware plays a key role in successful MSA-based implementations.
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
NSERC Discovery grant applications are judged according to four criteria: (1) Excellence of the researcher, (2) Merit of the proposal, (3) Contribution to the training of HQP, and (4) Cost of research. Each criterion has six possible merit indicators: Exceptional, Outstanding, Very strong, Strong, Moderate, and Insufficient. This presentation describes the process from a candidate's point of view and a reviewer's point of view. It discusses funding decisions, including bins and ER vs. ECR. It gives some advice, including graduating PhD students, having a story, and limiting the number of main objectives.
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
A set of process, architecture, design, and implementation patterns from a real, large program, the Ptidej Tool Suite. This set shows concrete problems and their solutions in Java. It includes: Be A Profiler, Tests as Documentation, Multi-layered Architecture, Proxy Console, Proxy Disk, Hidden Language, Internal Observer, Run-time Deprecation, String Parsimony, Object Identity, Object Address, Final Construction, StringBuffer as Positioning Element.
Examples of (bad) consequences of a lack of software quality and some solutions. This presentation presents some examples of (bad) consequences of a lack of software quality, in particular how poor software quality led to the direct deaths of 89 people. It then provides some background on software quality, especially the concept of Quality Without a Name. It then discusses many principles, their usefulness, and their positive consequences on software quality. Some of these principles are well-known in object-oriented programming while many others are taken from the book 97 Programmers. They include: abstraction, encapsulation, inheritance, types, polymorphism, SOLID, GRASP, YAGNI, KISS, DRY, Do Not Reinvent the Wheel, Law of Demeter, Beware of Assumptions, Deletable Code, coding with reason, and functional programming. They pertain to dependencies, domains, and tools.
(In details: Beautify is Simplicity, The Boy Scout Rule, You Gotta Care About the Code, The Longevity of Interim Solutions, Beware the Share, Encapsulate Behaviour not Just State, Single Responsibility Principle, WET Dilutes Performance Bottlenecks, Convenience Is Not an -ility, Code in the Language of the Domain, Comment Only What the Code Cannot Say, Distinguish Business Exception from Technical, Prefer Domain-specific Types to Primitive Types, Automate Your Coding Standards, Code Layout Matters, Before You Refactor, Improve Code by Removing It, Put the Mouse Down and Step Away from the Keyboard)
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
Python is a very popular programming language that comes with many pitfalls. This presentation describes some of these pitfalls, especially when they could trick unsuspecting object-oriented developers. It proposes solutions to these pitfalls, in particular regarding inheritance, which is easily broken because of the implementation choice of Python for explicit delegation, its method resolution order, and its use of the C3 algorithm. It discusses some advantages of using Python, especially regarding meta-classes.
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
Unicode is currently the world standard for encoding text. It supports all of the world's major writing systems. With its version 15.1 of 2023/09/12, it defines 149,813 characters and 161 scripts. This presentation starts with the, seemingly, simple example of the polar bear emoji. It then defines the key terms of any such standard. It then asks how a software system can render orthographic characters into glyphs, i.e., to render characters into (combined) glyphs. It introduces the concept of abstract characters and describes a brief history of encoding standards, from ASCII to Unicode. It shows how, by adding one level of indirection, the Unicode standard answers this question. It then presents code examples to display text written in Unicode: HarfBuzz (for shaping) and FreeType (for rendering).
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
The halting problem is an important, famous, and consequential problem in computer science. It is about writing a program that decides if another problem will stop. There is no general solution to this problem, which shows that such a problem is undecidable, with important consequences: for example, it is not possible to write tests that would exhaustively test entirely an arbitrary program. This presentation was written in collaboration with <a href="https://www.iro.umontreal.ca/~hahn/">Gena Hahn</a>.
A presentation summarising FPGAs, their history, their benefits, and showing how to program them. It provides some historical background on the development of computers, from the Difference Engine to the Intel 4004 to the AMD Ryzen Threadripper PRO 3995WX. It shows how the number of transistors increased dramatically but also how this increase led to more complexity and more bugs. It then introduces Field-programmable gate arrays (FPGA) as an alternative. It then presents how to program such FPGA using data-flow graphs. It discusses some tools (Yosys, NextPnR, and IceStorm) and illustrates them with a typical "Hello World" (i.e., blinking an LED) using Cygwin on Windows 10.
A set of brief presentations of some of the women and men who made the history of computer science and software engineering.
- 1936: Alan Turing
- 1948: Claude Elwood Shannon
- 1950: Grace Murray Hopper
- 1960: John McCarthy
- 1966: Frances E. Allen
- 1967: Ole-Johan Dahl
- 1967: Kristen Nygaard
- 1969: Charles A. R. Hoare
- 1970: Edgar F. Codd
- 1972: Dave Parnas
- 1974: Manny Lehman
- 1975: Frederick Brooks
- 1986: Edward Yourdon
- 1987: Barbara Liskov
- 1994: Erich Gamma
- 1997: Grady Booch
- 2001: Butler Lampson
A tutorial on the history, use, and caveats of Java generics. Using the simple example of an interface for sort algorithms, the tutorial presents the history of generics and describes the problems being solved by generics. It also provides definitions, and examples in Java and C++, and discusses Duck Typing. It then describes two scenarios: (1) Scenario 1: you want to enforce type safety for containers and remove the need for typecasts when using these containers and (2) Scenario 2: you want to build generic algorithms that work on several types of (possibly unrelated) things. It also summarises caveats with generics, in particular type erasure.
A tutorial on reflection, with a particular emphasis on Java, with a comparison with C++, Python, and Smalltalk. It describes different scenarios in which reflection is useful, a brief history of reflection and MOPs, a comparison with C++, Python, and Smalltalk, and some particulars about Java. The source code of the examples in Java (Eclipse project), Smalltalk (Squeak image v3.10.6), Python (Eclipse project), and C++ (Eclipse projects and Visual Studio solution) are available. (C++ Eclipse projects require Mirror.) Big thanks to Matúš Chochlík and Marcus Denker for their kind and precious help with C++ and Smalltalk.
The tutorial focuses on four common problems:
- Avoid using instanceof when code must bypass the compiler and virtual machine’s choice of the method to call.
- Create external, user-defined pieces of code loaded, used, and unloaded at run-time.
- Translate data structures or object states into a format that can be stored (file, network...).
- Monitor the execution of a program to understand its behaviour, and measure its space and time complexity.
It shows working examples of Java, Smalltalk, Python, and C++ code solving the four common problems through four scenarios:
- Scenario 1: invoke an arbitrary method on an object (see the problems with instanceof and plugins).
- Scenario 2: access the complete (including private) state of an object (see the problem with serialisation).
- Scenario 3: count the number of instances of a class created at runtime (see the problem with debugging/profiling).
- Scenario 4: patch the method of a class to change its behaviour (see the problem with patching).
It also discusses the different kinds of interconnections among objects that are available in common programming languages (linking, forking, subclassing, inter-process communication, and dynamic loading/invoking), a bit of theory about reflection, and specifically the class-loading mechanism of Java.
REST APIs are nowadays the de-facto standard for Web applications. However, as more systems and services adopt the REST architectural style, many problems arise regularly. To avoid these repetitive problems, developers should follow good practices and avoid bad practices. Thus, research on good and bad practices and how to design a simple but effective REST API are essential. Yet, to the best of our knowledge, there are only a few concrete solutions to recurring REST API practices, like “API Versioning”. There are works on defining or detecting some practices, but not on solutions to the practices. We present the most up-to-date list of REST API practices and formalize them in the form of REST API (anti)patterns. We validate our design (anti)patterns with a survey and interviews of 55 developers.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
1. Towards a Tool-based Approach for
Microservice Antipatterns Identification
Rafik Tighilt1
, Manel Abdellatif2
, Naouel Moha1
, Yann-Gaël Guéhéneuc3
tighilt.rafik@courrier.uqam.ca, manel.abdellatif@polymtl.ca, moha.naouel@uqam.ca, yann-gael.gueheneuc@concordia.ca
1
Université du Québec à Montréal
2
Polytechnique Montréal
3
Concordia University
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
1
2. About the presenter
2
RAFIK TIGHILT
I’m a MSc student in computer science at Université du Québec à
Montréal, currently working on microservice-based system antipatterns.
I previously got a MSc in IT systems management. I worked on the industry
for 3 years including founding my own startup before starting the current
MSc program in computer science at UQAM.
My fields of interest include software engineering, web development and
competitive programming.
3. Outline
● About microservices
● Approach
● Microservice antipatterns
● Meta-model definition
● Meta-model components
● Detection rules
● Discussion
● Threats to validity
● Conclusion
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
3
4. About Microservices
● Microservice architecture is more and more popular
● Adopted by industry leaders (Amazon, Netflix, Riot Games, etc...)
● Consists of independently deployable and manageable services
● Each microservice fulfils a single business capability
● Allow automated deployment
● Offer greater agility
● Reduce the complexity of handling application scalability
4
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
5. But...
● Microservices are highly volatile
● Microservices are very dynamic
● Microservices are continuously developed and deployed
● Like any other system, microservices face challenges with maintainability and evolution
This factors can lead to the introduction of poor solutions to recurring design and implementation
problems (ie. Antipatterns).
5
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
6. How can we automatically
identify antipatterns in
microservice-based systems ?
6
7. Approach
● Literature and open-source systems reviews
● 27 papers obtained describing microservices antipatterns
● 67 open-source microservice-based systems manually analyzed
● Establishment of a catalog of microservice antipatterns
● Definition of a meta-model for the automatic analysis
● Definition of detection rules for each of the antipatterns
7
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
8. Microservice antipatterns
Wrong cuts
8
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Cyclic dependencies
Microservices organized around technical layers instead of
business capabilities.
Circularly co-dependent microservices
9. Microservice antipatterns
Mega Service
A microservice serving multiple business capabilities, not
manageable by a single team.
9
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Nano Service
Multiple microservices working together to fulfil a single
business capability.
10. Microservice antipatterns
Shared libraries
10
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Hardcoded endpoints
Single libraries / files used by multiple microservices.
URLs, IP addresses, hostnames and other endpoints
hardcoded in the source code.
11. Microservice antipatterns
Manual configuration
11
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Configuration manually pushed for each microservice.
No API Gateway
Consumer applications communicate directly with
individual microservices.
12. Microservice antipatterns
Timeouts
12
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
No CI/CD
No Continuous Integration / Continuous Delivery
machinery in the process of developing, testing and
deploying microservices
Timeout values are set and hardcoded in HTTP requests
inside microservices source code.
13. Microservice antipatterns
Multiple service instances per host
13
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Multiple microservices are deployed on a single host.
Shared persistence
Multiple microservices share a single database.
14. Microservice antipatterns
No API versioning
14
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
No information available about a microservice version.
Local logging
Microservices have their own logging mechanism.
15. Microservice antipatterns
No healthcheck
15
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Insufficient monitoring
Microservices performance and failures are not tracked or
monitored.
Microservices are not periodically health-checked to verify
availability.
16. Meta-model definition
● The meta-model encapsulate the needed information to identify microservice antipatterns
● Consists of 13 components
● Each component contains some information about the system and its microservices
16
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
18. Meta-model components
18
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Git repository
If the system is a git repository, contains information such as repository URL, number of commits, number
of contributors, etc…
30. Detection rules
For each antipattern, we established a set of detection rules to assess its presence or not in a given
microservice based system.
This rules are detailed in the following slides.
30
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
31. 31
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Wrong cuts One file type in source code, connects to other microservices containing only one file type
Cyclic dependencies Microservice performing calls to each other in a circular way
Mega service Relatively high number of lines of code, relatively high number of dependencies
Nano service Relatively low number of lines of code, relatively low number of dependencies
Shared libraries Binary files, source files and libraries shared between two or more microservices
Hardcoded endpoints No service discovery libraries in the dependencies, URLs and endpoints in the source code
Manual configuration No configuration management libraries in the dependencies, independent configuration files
No API gateway No API gateway libraries in the dependencies
32. 32
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
Timeouts No circuit breaker libraries in the dependencies, hardcoded timeout values in the source code
No CI / CD No CI / CD libraries in the dependencies, no CI / CD information in the repository if available
Multiple service instances
per host
Shared deployment scripts between two or more microservices
Shared persistence Shared data / database configuration between two or more microservices
No API versioning No version information in endpoints and URLs, no version headers in HTTP requests
Local logging No distributed logging libraries in the dependencies
No healthcheck No healthcheck libraries in the dependencies, no healthcheck URL, no healthcheck instructions
Insufficient monitoring No monitoring libraries in the dependencies
33. Discussion
● There are no fully automated tool-based approach to identify microservice antipatterns in the
literature, and our approach aims to fill this gap
● Our meta-model only requires source code and do not rely on documentation and other artifacts
● We aim to help developers minimize antipatterns in their source code
● We contribute to the maintenance and evolution of microservice-based system with a generic,
comprehensive and consensual definitions of antipatterns and an approach to identify these
antipatterns
33
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
34. Threats to validity
● They are potentially other antipatterns that we did not find / include in our study
● The detection rules are subject to our interpretation and can be subjective (eg. Mega service).
However, we tried to minimize this by considering microservices as part of the system and not
standalone.
● We rely on lists of libraries and frameworks to identify some antipatterns, this lists can be
extended to include more libraries and frameworks.
34
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020
35. Conclusion
● This presentation describe the foundation of our automatic tool-based approach for the
identification of antipatterns in microservice-based systems
● We propose an approach that is robust enough to identify the described antipatterns, yet still
extensible and flexible to evolve.
● The tool itself is currently work in progress
● The tool will be validated by manually analysing 28 microservice-based system to calculate
precision and recall
35
12th
International Conference on Advanced Service Computing SERVICE COMPUTATION 2020