Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
An Unexpected Solution to Microservices UI CompositionDr. Arif Wider
This document describes a company's transition from a monolithic .NET application to a microservices architecture hosted on AWS. It details their use of a UI composition pattern using Nginx, ESI, and Jigsaw to compose fragments from different services into complete pages. This allows independent deployment of features while maintaining performance. Key aspects include caching of assets and responses, combining stylesheets and scripts, and isolation of services through separate CSS and JS packages.
The document discusses characteristics of microservice architectures. It defines microservices as independently deployable services that communicate through lightweight mechanisms like HTTP APIs. Key characteristics include: componentization via services; organization around business capabilities rather than technology; treating services as products with long-term support; decentralized governance, data, and infrastructure; and designing for failure and evolutionary development. The document also compares microservices to monoliths and alternative approaches like self-contained systems.
Microservices is a software architecture design pattern in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task.
The Microservices world in. NET Core and. NET frameworkMassimo Bonanni
This document discusses microservices architecture and how it compares to traditional monolithic applications. It then summarizes common orchestration platforms for microservices including Azure Service Fabric, Docker Swarm, Kubernetes, and Mesosphere DC/OS. Finally, it promotes additional resources on microservices architecture and .NET development, including an eBook and Microsoft documentation site.
This document discusses microservice architecture and related technologies. It introduces microservices and contrasts them with monolithic architectures. It covers refactoring monoliths into microservices and best practices around continuous integration/delivery (CI/CD), deployment with Docker, and monitoring microservices in the cloud. Specific technologies mentioned include Docker, Kubernetes, Consul, Eureka, Logstash, Elasticsearch, and Spring Cloud for developing microservices.
Azure Service Fabric and the Actor Model: when did we forget Object Orientation?João Pedro Martins
Session presented at DDD event in TVP/Microsoft UK HQ. Introduction to Azure Service Fabric, and focus on the actor model (formerly known as Project Orleans), with demos and documentation on how it is supported in Service Fabric. Goal: ask ourselves why did we really replace OO with "stateless services".
SpringOne Platform 2016
Speakers: Kevin Hoffman; Advisory Solutions Architect, Pivotal & Chris Umbel; Advisory Architect, Pivotal
With the advent of ASP.NET Core, developers can now build cross-platform microservices in .NET. We can build services on the Mac, Windows, or Linux and deploy anywhere--most importantly to the cloud.
In this session we'll talk about Cloud Native .NET, building .NET microservices, and deploying them to the cloud. We'll build services that participate in a robust ecosystem by consuming OSS servers such as Spring Cloud Configuration Server and Eureka. We'll also show how these .NET microservices can take advantage of circuit breakers and be automatically deployed to the cloud via CI/CD pipelines.
This document discusses microservices on Azure. It provides an overview of microservice patterns including the benefits of microservices like increased autonomy, scalability and team allocation. It also discusses challenges like discoverability. The document introduces Azure Service Fabric for building microservices and related cloud patterns like proxy, shared data and load leveling microservice patterns. It recommends microservices for highly skilled developers working on complex projects.
NATS was created by Derek Collison, founder and CEO
of Apcera, who has spent 20+ years designing, building, and using publish-subscribe messaging systems.
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. Learn how end users are building modern, reliable and scalable cloud and distributed systems with NATS.
Talk given by David Williams, Principal, Williams & Garcia
You can learn more about NATS at http://www.nats.io
This document provides an introduction and overview of microservices architecture and patterns, with a focus on using Spring Boot and Spring Cloud to build microservices. It defines key concepts like patterns, anti-patterns, microservices and cloud native applications. It outlines several architectural patterns for microservices like immutable services, service registration and discovery, and service configuration. It also describes the Spring Boot and Spring Cloud frameworks for developing microservices and some of their main projects that support service discovery, routing, configuration, messaging and more.
The document discusses ecosystem apps and cross-platform solutions. It defines an ecosystem as the combination of devices, operating systems, and app stores. It then covers challenges like developing native apps for each platform. It evaluates cross-platform frameworks like Xamarin, Titanium, and PhoneGap that allow developing apps using HTML5 that run across platforms. Finally, it discusses integrating apps across platforms and distributing them through app stores.
This deck is about Microservices Architecture and why do we need it, architecture patterns which need to be followed during Microservices development, and about few tricky questions like API Versioning and
Decomposition Recipes
If you need to build highly performant, mission critical ,microservice-based system following DevOps best practices, you should definitely check Service Fabric!
Service Fabric is one of the most interesting services Azure offers today. It provide unique capabilities outperforming competitor products.
We are seeing global companies start to use Service Fabric for their mission critical solutions.
In this talk we explore the current state of Service Fabric and dive deeper to highlight best practices and design patterns.
We will cover the following topics:
• Service Fabric Core Concepts
• Cluster Planning and Management
• Stateless Services
• Stateful Services
• Actor Model
• Availability and reliability
• Scalability and perfromance
• Diganostics and Monitoring
• Containers
• Testing
• IoT
Live broadcast on https://www.youtube.com/watch?v=Zuxfhpab6xo
A introduction to Microservices Architecture: definition, characterstics, framworks, success stories. It contains a demo about implementation of microservices with Spring Boot, Spring cloud an Eureka.
This document discusses microservices architecture and related concepts. It begins with an overview of microservices compared to earlier SOA approaches. Key aspects of microservices covered include developing single applications as independent services, common misconceptions, principles like single responsibility, and defining appropriate service boundaries. The document also discusses messaging approaches in microservices including REST, gRPC, and asynchronous messaging. Other sections cover organizing microservices, deployment, security, data management, governance, bridging monolithic and microservice systems, and implementing a service mesh.
How to Split Your System into MicroservicesEberhard Wolff
Splitting a system into microservices is a challenging task. This talk shows how ideas like Bounded Context, migration scenarios and technical constraints can be used to build a microservice architecture. Held at WJAX 2016.
Building a Bank out of Microservices (NDC Sydney, August 2016)Graham Lea
From April 2014, Tyro Payments assigned more than half of it's Engineering team to developing and deploying a bespoke core banking system. Over the course of 18 months we shipped 21 new services and a new mobile app, as well as integrating with new external partners and Tyro's existing systems.
In this talk I presented a case study of the project, covering:
• the core tenets and some of the more interesting aspects of our architecture;
• why we were well positioned to use microservices for this greenfield work;
• the decisions we made that turned out well and the ones that didn't;
• security (we know a bit about that);
• testing (we do lots of it);
• deployment;
• how the system and the team is evolving.
Fundamental and Practice.
Explain about microservices characters and pattern. And also how to be good build microservices. And also additional the scale cube and CAP theory.
Coder sans peur du changement avec la meme pas mal hexagonal architectureThomas Pierrain
Découvrez en pratique l'architecture hexagonale, indispensable pour vos applications complexes !
Ce style d'architecture permet d'adapter votre code à tout changement de technologie sans souffrir. Si vous aimez changer de frameworks ou de librairies, tester correctement ou appliquer le Domain-Driven Design, alors vous avez besoin d'architecture hexagonale !
Avec des exemples en code Java, et au travers d’un kata d’architecture auquel vous pourrez participer, nous vous montrerons les pièges à éviter et comment mettre en œuvre ce pattern sans trop galérer, et ce dès votre retour au bureau !
The document discusses the need for developers to move outside their comfort zone and connect more with business needs. It notes that developers often get stuck creating generic CRUD applications instead of domain-specific solutions because of data modeling over domain modeling, laziness, and isolation from business partners. The document argues that to have more impact, developers should make more effort to understand business problems, accompany partners to help explain technology's benefits, and focus on delivering business value rather than just technical skills. Developers are encouraged to be curious, think outside the box, and work to bridge the gap between development and business concerns.
Docker and Windows: The State of the UnionElton Stoneman
Session from Docker London, covering Docker on Windows:
- the Docker platform on Windows
- limitations and differences
- Dockerizing Windows applications
- running a hybrid swarm
Slides présentés avant un Event Storming géant organisé au MS experiences (Palais des Congrès) par Thomas PIERRAIN, Bruno BOUCARD, Tomasz JASKULA et Eric VERNIE.
https://experiences.microsoft.fr/Event/session/atelier-1-decouvrir-son-sujet-grace-a-levent/2a6658ef-4074-e611-80c3-000d3a2229a6
Faible latence, haut debit PerfUG (Septembre 2014)Thomas Pierrain
vidéo disponible : http://tv.octo.com/videos/les-secrets-de-la-finance-pour-avoir-des-systemes-reactifs/
Comment concevoir des systèmes capables d’encaisser des dizaines de milliers d’updates par seconde sans s’engorger, ni dépasser la milli seconde de traitement ?
Comment écrire du code scalable qui reste lisible –mais garanti 100% sans deadlock ? Que recouvre le reactive manifesto ? et les termes : conflation, sequencer, immutable state ?
Après vous avoir présenté les besoins et contraintes du trading électronique, nous répondrons à toutes ces questions dans une session �� résolument réactive.
Note: il s'agit de la présentation que nous avions faîte à DEVOXX France en Avril 2014, mais revue et corrigée pour notre session au PerfUG de Septembre (avec une nouvelle charte graphique donc)
Compartilho aqui a minha apresentação que eu tive a honra de apresentar no primeiro MeetUp .NET Inside realizado na Stone Rio de Janeiro, palestrei sobre Microservices, .NET Core e Serverless. Sou grato por poder levar um pouco que eu sei para compartilhar com a plateia muito cheia e participativo.
Avez-vous déjà eu l'impression de vous être assoupis dans votre carrière, de faire moins de veille qu'à d'autres périodes ? A l'inverse, vous êtes-vous déjà demandé comment sortir du ronron ambiant et "réveiller" vos collègues qui vous semblaient manquer de curiosité et de passion sur un projet ?
Cette courte session vise à vous présenter toutes les formules et astuces qui ont permis à très peu de gens chez nous de réveiller une grosse organisation qui s'endormait sur ses lauriers. Si on a réussi ici -sandwichs à la main- pourquoi pas vous ? Attention: effet contagieux ;-)
Comment concevoir des systèmes capables d’encaisser des dizaines de milliers d’updates par seconde sans s’engorger, ni dépasser la milli seconde de traitement ? Comment écrire du code scalable qui reste lisible –mais garanti 100% sans deadlock ? Que recouvre le reactive manifesto et les termes : conflation, sequencer, immutable state ? Après vous avoir présenté les besoins et contraintes du trading électronique, nous répondrons à toutes ces questions dans une session qui s'annonce...technique.
Decouvrir CQRS (sans Event sourcing) par la pratiqueThomas Pierrain
Introduction à CQRS présentée aux MS experiences 2016 (Palais des Congrès) par Thomas PIERRAIN, en compagnie de Bruno BOUCARD, Tomasz JASKULA et Eric VERNIE.
TDD is dead?!? Let's do an autospy (ncrafts.io)Thomas Pierrain
Why we are still stuck with TDD nowadays? Through several facts & stories from the trenches, we will see why most of us still have not managed to grasp or to sustain the TDD experience.
Wouldn't be a good opportunity to meditate about how we are thinking? And why not, thinking outside of the box to get a better feeling of the TDD soul.
The document discusses async-await in C# and how it works under the hood. It begins with questions about what happens when await is used. It then explains that async-await is used to compose asynchronous code using task continuations generated by the compiler. It discusses how await marks a continuation and depends on the context to determine threading. Windows I/O is used as an example of asynchronous operations without threads. The document concludes with recommendations to avoid deadlocks by not blocking on async code and to only use async-void for event handlers.
Windows Containers and Docker: Why You Should CareElton Stoneman
You can run Docker on Windows natively with Windows 10 and Windows Server 2016 - but should you migrate your apps to Docker containers? This deck suggests the value case for moving to Docker, looking at how it can help you with a roadmap to adopt the major technology trends - DevOps, Cloud Computing and Microservices - and also how it can help you be more effective today.
QCONSF - ACID Is So Yesterday: Maintaining Data Consistency with SagasChris Richardson
This is a presentation I gave at QCONSF 2017
The services in a microservice architecture must be loosely coupled and so cannot share database tables. What’s more, two phase commit (a.k.a. a distributed transaction) is not a viable option for modern applications. Consequently, a microservices application must use the Saga pattern, which maintains data consistency using a series of local transactions.
In this presentation, you will learn how sagas work and how they differ from traditional transactions. We describe how to use sagas to develop business logic in a microservices application. You will learn effective techniques for orchestrating sagas and how to use messaging for reliability. We will describe the design of a saga framework for Java and show a sample application.
This is a talk I gave at PLoP 2017 - http://www.hillside.net/plop/2017/index.php?nav=program
The microservice architecture is growing in popularity. It is an architectural style that structures an application as a set of loosely coupled services that are organized around business capabilities. Its goal is to enable the continuous delivery of large, complex applications. However, the microservice architecture is not a silver bullet and it has some significant drawbacks.
The goal of the microservices pattern language is to enable software developers to apply the microservice architecture effectively. It is a collection of patterns that solve architecture, design, development and operational problems. In this talk, I’ll provide an overview of the microservice architecture and describe the motivations for the pattern language. You will learn about the key patterns in the pattern language.
The Velvet Revolution: Modernizing Traditional ASP.NET Apps with DockerElton Stoneman
Using Docker with Windows Server 2016 to modernize ASP.NET applications - a feature-driven approach. Starting with an ASP.NET WebForms apps, how to run the app in Docker and then modernize it using the Docker platform. From NDC London 2017.
This document proposes rebooting Domain-Driven Design (DDD) by making it more accessible and continuing to develop the DDD toolbox. It suggests popularizing DDD by using less jargon and creating an open community of practitioners under the hashtag #DDDreboot. The goal is to make DDD more mainstream by working together to enrich the concepts and share knowledge.
Solving distributed data management problems in a microservice architecture (...Chris Richardson
The document discusses challenges of maintaining data consistency and performing queries in a microservices architecture. It recommends using sagas and compensating transactions to maintain consistency across services with private databases. For queries, it recommends API composition when possible, but for more complex queries, using the Command Query Responsibility Segregation (CQRS) pattern with separate read models optimized for different query types. The talk also covers event sourcing to provide reliable saga execution.
Building and deploying microservices with event sourcing, CQRS and Docker (Be...Chris Richardson
This document discusses building and deploying microservices using event sourcing, CQRS and Docker. It covers an overview of event sourcing and how it solves data consistency issues in microservice architectures. CQRS is used to implement materialized views for queries. Spring Boot is recommended for building microservices and Docker is used to package the microservices. A continuous integration pipeline is used to build, test, publish Docker images and deploy updates.
Omnikron webbinar - Microservices: enabling the rapid, frequent, and reliable...Chris Richardson
DevOps and Continuous deployment (CD), which are a set of practices for the rapid, frequent, and reliable delivery of software, are central to any digital transformation effort. DevOps/CD require your application to have a testable and deployable architecture. As a result, a large, complex, and monolithic legacy application is typically an obstacle to the adoption of DevOps/CD. You must use the microservice architecture, a.k.a. microservices. In this webinar, you will learn about the importance of having a testable and deployable architecture. We describe the microservice architecture along with its benefits, and how it enables DevOps/CD. You will also learn about the drawbacks of the microservice architecture. We describe strategies for incrementally refactoring a legacy monolithic application into microservices.
Microservices and Serverless for Mega Startups - DevOps IL MeetupBoaz Ziniman
1) The document discusses best practices for running microservices at scale, including breaking monolithic architectures into loosely coupled microservices, using the right tools for each job, securing services, focusing on organizational transformation, and automating everything.
2) Five principles for running microservices are outlined: microservices only rely on each other's public APIs, using the right tool for the job, securing services with defense-in-depth, focusing on cross-functional teams for alignment, and automating everything.
3) Examples of event-driven serverless architectures using AWS Lambda and other AWS services are provided.
Devoxx PL 2018 - Microservices in action at the Dutch National PoliceBert Jan Schrijver
The document summarizes the Dutch National Police's transition to a microservices architecture. It discusses how they reorganized existing systems into independently deployable microservices running on a private cloud platform. It also covers their development methodology, including feature teams, continuous delivery, and emphasis on automation and monitoring in production. Overall challenges discussed include balancing autonomy and sharing, managing dependencies, and ensuring modularity across frontend and backend systems.
IBM and Node.js - Old Doge, New TricksDejan Glozic
The document discusses IBM's transition from older enterprise stacks like Java and SQL to newer technologies like Node.js, NoSQL, and microservices. It describes motivations for the change like yearly release cycles, large teams, and running products on-premise. It then covers specifics of the transition, including moving from Dojo/Dijit to jQuery/Bootstrap on the client side, using Node.js and WebSockets for real-time updates, adopting a microservices architecture, switching from SQL to NoSQL databases, and addressing challenges that arise from the new approaches.
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceBert Jan Schrijver
The Dutch National Police have transitioned to using microservices and DevOps practices. They have split their existing monolithic system into independent services, each with a single purpose. The services are developed and deployed independently by cross-functional teams in a private cloud on OpenStack. They use tools like Consul, Nomad, and Docker to enable continuous delivery, automated deployments, and resilience. Challenges include balancing performance and security with stateless services, and avoiding coupling between services and teams. Future plans include improving the frontend architecture, security testing, and operational visibility.
Microservices in action at the Dutch National Police - Bert Jan Schrijver - C...Codemotion
At the Cloud, Big Data and Internet division of the Dutch National Police, 4 DevOps teams use the latest open source technology to build high tech, cloud native web applications using Spring Boot, Angular 5, Spark, Kafka and Jenkins 2. I'll share our experiences and real-world use cases for microservices. I’ll show how 4 teams work together on one product and I’ll talk about how we apply the principles of DevOps and Continuous Delivery. I’ll show how we handle security, build pipelines, test automation, performance tests, service discovery, automated deployments, monitoring and more!
AWS Serverless Community Day Keynote and Vendia Launch 6-26-2020Tim Wagner
Hear Tim Wagner, CEO and co-founder of Vendia and "Father of Serverless" talk about the evolution of Serverless over the years and how Vendia is taking it into a cross-cloud future.
The lightning talks covered various Netflix OSS projects including S3mper, PigPen, STAASH, Dynomite, Aegisthus, Suro, Zeno, Lipstick on GCE, AnsWerS, and IBM. 41 projects were discussed and the need for a cohesive Netflix OSS platform was highlighted. Matt Bookman then gave a presentation on running Lipstick and Hadoop on Google Cloud Platform using Google Compute Engine and Cloud Storage. He demonstrated running Pig jobs on Compute Engine and discussed design considerations for cloud-based Hadoop deployments. Finally, Peter Sankauskas from @Answers4AWS discussed initial ideas around CloudFormation for Asgard and deploying various Netflix OSS
Whar are microservices and microservices architecture (MSA) How we reach them? Are they the same or SoA or not? When to use them? What are the key characteristics?
Slides of my talk given in #Gapand2017 in Andorra
Exploring Twitter's Finagle technology stack for microservices💡 Tomasz Kogut
This document summarizes a presentation about Finagle, Twitter's microservices technology stack. It discusses how Finagle addresses challenges with microservices like service discovery, load balancing, and request tracing across services. It presents Finagle's core abstractions like Futures, Services, and Filters. Services represent both clients and servers, and Filters can add functionality like retries and timeouts. The document also mentions Twitter Server, a framework for building Finagle-based servers that handles flags, logging, metrics and admin interfaces. Finally, it briefly introduces Finatra, which builds on Finagle and Twitter Server and adds features like dependency injection and routing.
Microservices - opportunities, dilemmas and problemsŁukasz Sowa
Presentation from Warsjawa 2014 workshop "Microservices in Scala". Topics covered:
- What are microservices?
- What's the difference between them vs monolithic
architectures?
- What are the different flavours of microservices?
AWS Summit Auckland - Smaller is Better - Microservices on AWSAmazon Web Services
The document provides an overview of microservices including:
- Defining microservices and comparing them to SOA
- The benefits of a microservices architecture like improved agility, scalability, and innovation
- Common microservice patterns on AWS like serverless and container-based services
- How microservices can address business problems like long feature cycles and technical problems like lack of testability
- A customer story of how MYOB adopted microservices on AWS to support their online products
- Tips for evolving architectures including focusing on automation, organizational structure, and individual service design.
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...Bert Jan Schrijver
3 DevOps teams are building high tech big data web applications in a private cloud environment to support police work. These teams use microservices architectures, with separate front-end and back-end components developed independently but integrated via service discovery. Testing includes unit, integration, and load testing across feature branches in a continuous integration environment before production deployment. Future work includes improving zero downtime deployments, modularizing the front-end, and automating security testing.
This document provides an overview of serverless computing without code (Lambda). It introduces CloudHesive as a professional services company and describes their services including assessment, strategy, migration, implementation, support, DevOps, security, and managed services. The agenda outlines topics on serverless, APIs, event buses, data stores, operational considerations, and adoption approaches. References are provided for the AWS Well Architected Framework and serverless application lens as well as examples for API Gateway, AppSync, Lambda, and Step Functions.
JavaZone 2017 - Microservices in action at the Dutch National PoliceBert Jan Schrijver
3 DevOps teams at the Dutch National Police are building big data applications in a private cloud using microservices architecture. They develop independently but coordinate planning. Testing includes unit, integration, end-to-end, load, and mutation tests. Features are developed on branches and deployed continuously to test and production after sprints. Challenges include balancing security and performance for stateless services and preventing monolithic frontends. They aim to improve with zero downtime deployments, product teams, and automated security testing.
3 DevOps teams at the Dutch National Police are building big data applications in a private cloud using microservices architecture. They develop using techniques like continuous delivery, short feedback loops, and embrace of change. Challenges include balancing performance and security with stateless services, minimizing dependencies between teams, and preventing monolithic frontends. Future plans include zero downtime deployments, cross-functional product teams, and a modular frontend.
OpenValue meetup October 2017 - Microservices in action at the Dutch National...Bert Jan Schrijver
3 DevOps teams at the Dutch National Police are building big data applications in a private cloud using microservices architecture. They develop independently but coordinate planning. Testing includes unit, integration, end-to-end, load, and mutation tests. Features are developed on branches and merged/deployed continuously. Services register with Consul for service discovery. Challenges include balancing security and performance for stateless services and preventing monolithic frontends. Future plans include zero downtime deployments and cross-functional product teams.
Stay productive while slicing up the monolithMarkus Eisele
Microservices-based architectures are in vogue. Over the last couple of years, we have learned how thought leaders implement them, and it seems like every other week we hear about how containers and platform-as-a-service offerings make them ultimately happen.
Tech Talent Night Copenhagen 11/22/17
https://greenticket.dk/techtalentnightcph
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
2. • What is a microservice
• Good things about microservices
you should be using now
• DIY in .NET
• Containers, VMs, self-hosted, …
• Demo
• “Microsoft Microservices”
• Azure Service Fabric
• Demo
3. About Sequel
We are leading software providers for the insurance market
Heavily investing on R&D (& new offices in Málaga )
55 people in Málaga, 6 scrum teams
140 people in total
Currently hiring in Málaga – @ndsrf for more info
Graphic designers | .NET Architects / AngularJs devs | Testers / Automation www.sequel.com
4. Disclaimer
This is not a “this is what I did” presentation, but
rather a “this is what I have seen” and open for
discussion presentation.
O:-)
5. What is a microservice?
Let’s build our definition! link
6. Our definition of microservices (Created live in
the actual presentation - brainstorming session
30/03/2016)
7. Principles of microservices
• Autonomous service (decentralise!)
• Code + State (high cohesion)
• Contracts between them (hide
implementation)
• Versioned
• Consistent and available between
failures
• Culture of automation
• Focus on delivery (products not
projects)
• Team collaboration
• Team size “pizza size”
• Lightweight components
• Accesible by any device
• Language & platform transparency
• Smart endpoints / dump pipes
• Unit of deployment
• Implementation of a bound context
(DDD)
• Separated code repositories
• Inmutable infrastructure
• HTTP (REST – HATEOAS) vs others
• Self-healing
• Automatic upgrades / rollback
9. Good technical practices for microservices
• Discovery, Configuration & Versioning
• Security
• Resilience & autohealing
• Monitoring & Logging
• Composition
• Testing
• Inter service communication
• Data consistency
• Service orchestration
10. Y
A
X B
Service Discovery + Configuration
• Problem: Hard-code service locations in 100s of microservices?
• Problem: The service discovery needs to be redundant and reliable (this is hard!)
• Discovery services rely on distributed DBs can be used to store configuration
• Nice to have: Discovery + health check + auto healing
• HATEOAS
Options in .NET
• Microphone (.NET) + Consul (in Production: master on Linux only!)
12. Versioning
• Problem: Not all teams should deliver at the same pace
• Try to avoid dependencies less management & more happiness
Concepts
• You still need to deal with old clients of your service relying on previous version
• Do not only distribute a client (distributed monolith!), just rely on contracts (& provide
example implementations if you wish)
• Semantic Romantic Versioning + Minimum required version concept
• URL
• Headers (Accept header)
• API generation / documentation Swagger, apiary, …
13. Security (1/2)
• Problem: much greater attack surface
• Problem: Secure all calls slow / hassle?
Concepts
• Protect just Internet boundary? What happens in a intruder gets in the network?
• Secure communication channels? Services trust each other?
• Tamper proofing, replay protection, principal authorization, weakest link, least privilege
• API gateway pattern (not just for security but…)
• Rate limiting for external APIs (X-Rate-Limit-… headers (Twitter))
Security checklist http://www.grahamlea.com/2015/07/microservices-security-questions/
14. Security (2/2)
• Authentication, Authorisation, Delegation
• Problem: Once the principal is authenticated, it should only have access to certain
resources, and we should do that in a scalable way
Concepts
• Authorisation server (provides tokens and jwt signed with its PK)
• Resource server (each of the services)
• Delegation OAuth 2 protocol
• OpenID protocol (JWT – Json Web Token, a signed json doc) to achieve statelessness
• Authentication Leave that to the OAuth 2 server (token)
• Authorisation All microservices should consume JWTs (identity)
15. Resilience
• Problem: If one service is not available, everything crashes
Techniques: retry N times, retry forever, retry and wait, circuit breaker, post execution steps
Circuit breaker: custom fallback, fail silent, fail fast
http://techblog.netflix.com/2011/12/making-netflix-api-more-resilient.html
Autohealing (Consul)
Options in .NET
• Polly
16. • Problem: You don´t want to have to check N log files, just 1
• Logging framework vs Logging service
• Correlate events
• Log deployments / Orchestration (more on this later)
Options in .NET
• SeriLog + ELK
• App Insights (Azure)
• Runscope for API monitoring (cloud)
• Raygun for error logging (cloud)
• Newrelic (cloud)
17. Composition
• Problem: Once we have all the small bits and pieces, how do we integrate them to
provide higher level functionality
Options
• Monolithic UI to integrate everything
• API Gateway
• AJAX/Javascript
• IFrames
• Server Side Includes / Edge Side Includes
• Specific services like Netflix Zuul (Java) or Compoxure (NodeJS)
18. • Avoid at all costs committing to features that require more than one team to be done in
the same place at the same time in order to make an integrated delivery
• Other teams to do pull requests with tests
(you might not know how your service is really used!)
Options in .NET
• Unit testing
• Contract testing PACT.NET
• Mock services
19. Inter-service communication
• Problem: As we increase the number of services, the number of calls between them also
increases
• Tools/applications: RestSharp, Akka.Net, RabbitMQ (.NET library available), NATS (.NET lib
available), HAProxy (load balance)
• Message formats: XML (text), JSON (text), Google Protobuf (binary)
One to One One to many
Synchronous Request / response -
Asynchronous Notification
Request / async response
Publish / Subscribe
Publish / Async responses
20. Y
A
X B
Data consistency
• Problem: Each microservice is made of code + state
• Problem: Distributed transactions are really hard
Polyglot persistence
Options
• Single database
• Another microservice to deal with domain data access
• Event sourcing + pub/sub
• Two phase commit
• Replication
• Eventual consistency
• Business rules
21. Orchestration
• Problem: How do we deal with 100s of services? Start, stop, move, upgrade…
• A nice option: Containers
• Linux containers (Mono / ASP.NET 5)
• Windows containers
Options for Windows (@ 30th March 2016)
• Docker Compose + Swarm
• Rancher
• Kubernetes
• Mesos + Marathon
• Azure Container Service (Marathon)
• Azure service fabric
• Akka.NET
23. Example – Microcafe app
CQRS, microservices
CQRS
Event sourcing
3 services: front-end + read + write
data writes in event store
data reads from redis (aggregates)
message bus with rabbitmq
24. Microcafe app by Richard Banks https://github.com/rbanks54/microcafe
Microservices:
• n-Front-End services
• n-Read Services
• n-Write Services
• Event Store cluster
• N-Redis (1 x read service)
• RabbitMQ cluster
• HAProxy cluster
• Consul cluster
Diagram by Gabriel Schenker - https://lostechies.com/gabrielschenker/2015/04/07/cqrs-revisited/
25. Microcafe app by Richard Banks https://github.com/rbanks54/microcafe
Deal with eventual consistency, baby
31. “my” Key Takeaways
There is no “right way” for doing microservices
Most concepts could be applied to almost any architecture
Orchestration is hard
Service Fabric is nice… but it is “the Microsoft way”
Windows Containers are not ready yet (@ 27th March 2016)
Luckily we have OPEN SOURCE (Mono, ASP.NET 5 and… Linux :-) )
HATEOAS, an abbreviation for Hypermedia as the Engine of Application State, is a constraint of the REST application architecture that distinguishes it from most other network application architectures. The principle is that a client interacts with a network application entirely through hypermedia provided dynamically by application servers. A REST client needs no prior knowledge about how to interact with any particular application or server beyond a generic understanding of hypermedia. By contrast, in some service-oriented architectures(SOA), clients and servers interact through a fixed interface shared through documentation or an interface description language (IDL).
The HATEOAS constraint decouples client and server in a way that allows the server functionality to evolve independently.
For example [2] here is a GET request to fetch an Account resource, requesting details in an XML representation:
GET /account/12345 HTTP/1.1 Host: somebank.org Accept: application/xml ...
Here is the response:
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: ... <?xml version="1.0"?> <account> <account_number>12345</account_number> <balance currency="usd">100.00</balance> <link rel="deposit" href="http://somebank.org/account/12345/deposit" /> <link rel="withdraw" href="http://somebank.org/account/12345/withdraw" /> <link rel="transfer" href="http://somebank.org/account/12345/transfer" /> <link rel="close" href="http://somebank.org/account/12345/close" /> </account>
Note the response contains 4 possible follow-up links - to make a deposit, a withdrawal, a transfer or to close the account.
Some time later the account information is retrieved again, but now the account is overdrawn:
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: ... <?xml version="1.0"?> <account> <account_number>12345</account_number> <balance currency="usd">-25.00</balance> <link rel="deposit" href="http://somebank.org/account/12345/deposit" /> </account>
Now only one link is available: to deposit more money. In its current state, the other links are not available. Hence the term Engine of Application State. What actions are possible vary as the state of the resource varies.
SEMANTIC VERSIONING
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Tamper proofing – no one can sabotage the system by changing messages
Replay protection – if I capture a message, and I replay it, does it work?
Weakest link – a system is as secure as the weakest of its links
Least privilege – a principal should have the least of the privileges to do something
Delegation – client has no idea about the credentials of the user
Custom fallback - in some cases a service’s client library provides a fallback method we can invoke, or in other cases we can use locally available data on an API server (eg, a cookie or local JVM cache) to generate a fallback response
Fail silent - in this case the fallback method simply returns a null value, which is useful if the data provided by the service being invoked is optional for the response that will be sent back to the requesting client
Fail fast - used in cases where the data is required or there’s no good fallback and results in a client getting a 5xx response. This can negatively affect the device UX, which is not ideal, but it keeps API servers healthy and allows the system to recover quickly when the failing service becomes available again.
Actors – virtual actors, can be called using a proxy
State - It includes the data structures and variables that the service reads and writes to do work. Service Fabric provides the infrastructure to ensure that this state is co-located with the code that manipulates the data, and highly available and fault tolerant in the event of a failure.
ActorId actorId = ActorId.NewId(); string applicationName = "fabric:/CalculatorActorApp"; ICalculatorActor calculatorActor = ActorProxy.Create<ICalculatorActor>(actorId, applicationName); double result = calculatorActor.AddAsync(2, 3).Result;
RunAsync