AWS Summit Seoul 2023 | 실시간 CDC 데이터 처리! Modern Transactional Data Lake 구축하기Amazon Web Services Korea
CDC 기반 upserting 기능을 제공하는 Transactional Data Lake를 Apache Iceberg와 AWS Glue를 이용해서 구축하는 방법을 소개합니다. MySQL과 같은 RDS에서 발생하는 CDC 데이터를 Amazon Kinesis 또는 MSK를 통해서 실시간으로 S3에 Apache Iceberg 포맷으로 저장하는 Transactional Data Lake 아키텍처를 소개합니다.
BespinGlobal 컨설팅 본부
최정식 위원(js.choi@bespinglobal.com)
데이터 마이그레이션 세미나 - 데이터로 날자
Helping You Adopt Cloud | 가트너 선정 아시아 No.1 클라우드 MSP, 성공적인 클라우드 도입을 위한 전략, 구축, 운영 및 관리 서비스 제공
The document provides an overview of the database technology sector, including key metrics and subsectors. It summarizes funding trends, notable companies, and recent news. The sector has seen $3.9B in funding for 1424 companies. Top subsectors are NoSQL, relational databases, and in-memory databases. Major public companies include Oracle, MongoDB, and Progress, while unicorns include Snowflake and Yellowbrick Data.
어떻게 하면 배포 프로세스를 빠르게 개선할 수 있을까요?
git branch를 푸시하고 개별 테스트 서버를 만드려면 어떻게 해야 할까요?
쿠버네티스와 GitOps, Argo CD를 이용한 배포 방법을 소개 합니다.
Open Infrastructure & Cloud Native Days Korea 2019 발표자료
원본 슬라이드 다운로드 - http://bit.ly/subicura-gitops
Building Cloud-Native App Series - Part 1 of 11
Microservices Architecture Series
Design Thinking, Lean Startup, Agile (Kanban, Scrum),
User Stories, Domain-Driven Design
This document provides guidance and assets for creating Google Cloud Platform (GCP) architectural diagrams. It includes examples of diagram elements like user cards, product cards, zones, and expanded product cards. Specifications are given for formatting zones, titles, and other elements. Icons for GCP products, services, and Material Design are also referenced. The goal is to help users accurately diagram GCP architectures in a consistent visual style.
This document outlines an agenda for a presentation by MEGAZONE CSO and Founder. The agenda includes: 1) Introduction of MEGAZONE 2) Customer case studies 3) Introduction of MEGAZONE's Hyper-Series solutions 4) Third party solutions. It then provides details on MEGAZONE's history and achievements as the first AWS Cloud Partner in Korea since 2012, and first Advanced Consulting Partner in 2014.
Saturn 2018: Managing data consistency in a microservice architecture using S...Chris Richardson
A revised and extended version that I gave at Saturn 2018.
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.
[AWS Dev Day] 앱 현대화 | 코드 기반 인프라(IaC)를 활용한 현대 애플리케이션 개발 가속화, 우리도 할 수 있어요 - 김필중...Amazon Web Services Korea
현대의 애플리케이션 개발은 비지니스 요구사항을 빠르게 수용하여 구현한 뒤, 피드백을 통해 개선하는 과정을 지속적으로 반복해야 합니다. 본 세션에서는 AWS가 제공하는 코드 기반 인프라(Infrastructure as Code) 관련 도구를 활용하여 현대의 애플리케이션 개발을 위한 더 나은 환경을 어떻게 구성하며, 어떤 이점이 있는지 소개합니다. 기업에서 적용한 실제 사례를 통해 보다 더 직접적인 활용법을 확인할 수 있습니다. 기업에서 적용한 실제 사례를 통해 보다 더 직접적인 활용법은 물론, 조직에 필요한 변화 부터 환경 구성, 개발 진행, 변화 수용에 대해서 알 수 있습니다.
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...Chris Richardson
Modern, cloud-native applications typically use a microservices architecture in conjunction with NoSQL and/or sharded relational databases. However, in order to successfully use this approach you need to solve some distributed data management problems including how to maintain consistency between multiple databases without using 2PC.
In this talk you will learn more about these issues and how to solve them by using an event-driven architecture. We will describe how event sourcing and Command Query Responsibility Segregation (CQRS) are a great way to realize an event-driven architecture. You will learn about a simple yet powerful approach for building, modern, scalable applications.
Microservices architecture is a method of developing software applications as a suite of independently deployable, small, modular services. Learn how to leverage the security and automation of the Amazon Web Services platform, to build, maintain and operate a microservices environment.
Speaker: Adam Lynch, Sr. Technical Account Manager, Amazon Web Services
This document provides an overview of Infrastructure as Code (IaC) on Azure using ARM templates and Terraform. It discusses the benefits of IaC for consistency, version control, and faster deployments. ARM templates are the native Microsoft solution for Azure resources defined in JSON, while Terraform uses a declarative language and manages dependencies automatically. Both tools were compared, with ARM templates having better integration with Azure services and security features, while Terraform excels with its plan preview and dependency management. Advanced IaC concepts like environments and centralized repositories were also covered.
This document provides an overview of DevOps on AWS and the AWS developer tools for continuous delivery including CodeCommit, CodeDeploy, CodePipeline, and Elastic Beanstalk. It discusses how these tools help implement a microservices architecture and continuous delivery approach to software development. Specifically, it describes how CodeCommit provides version control, CodeDeploy enables easy and reliable deployments, CodePipeline allows connecting tools for accelerated release processes, and Elastic Beanstalk provides a simple way to deploy applications.
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
ccAmazon Aurora 데이터베이스는 클라우드용으로 구축된 관계형 데이터베이스입니다. Aurora는 상용 데이터베이스의 성능과 가용성, 그리고 오픈소스 데이터베이스의 단순성과 비용 효율성을 모두 제공합니다. 이 세션은 Aurora의 고급 사용자들을 위한 세션으로써 Aurora의 내부 구조와 성능 최적화에 대해 알아봅니다.
Software Design ... a nice expression, uh? But what does it mean to "design a software"? What are the prerequisites? What are the pitfalls to avoid? As Software Designers we would like to highlight on what makes us build simple, useful and above all effective software. And of course, we will talk about Domain-Driven Design in that journey ;-)
Talk made at http://domain-driven-design.eu/the-art-of-design/
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.
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.
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.
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.
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.
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.
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
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.
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 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.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
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.
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)
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
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.
This document provides an introduction to CQRS (Command Query Responsibility Segregation) patterns and QueueUnlimited concepts and implementation. It discusses why CQRS is needed to separate queries from commands in distributed systems. QueueUnlimited is an open source project that uses SQL Server Service Broker to implement an asynchronous queue-based data store for CQRS. It allows publishing and subscribing to commands and queries across services. The document demonstrates how QueueUnlimited works and provides advantages and disadvantages of the CQRS pattern.
Software Architecture Conference - Monitoring Microservices - A ChallengeAdrian Cockcroft
The document discusses the challenges of monitoring microservices architectures. It notes that microservices are deployed much more frequently than traditional applications, sometimes in seconds or milliseconds. This rapid deployment rate requires monitoring tools that can measure and report metrics at an equally fast pace. It also explains that microservices architectures involve large numbers of loosely coupled services distributed across multiple regions, zones, and instances. Monitoring tools must be able to handle the scale and complexity of these distributed systems. Other challenges discussed include visualizing request flows, understanding common failure scenarios, and testing monitoring systems at a large scale. The document advocates for using simulations to model microservices architectures and stress test monitoring tools to help address these challenges.
This document discusses Command Query Responsibility Segregation (CQRS). It begins by explaining that CQRS splits commands and queries into separate paths at an architectural level. This aligns with how people think about tasks (commands) and requesting information (queries) differently. The document then discusses how CQRS provides an eventually consistent architecture based on CAP theorem, similar to BASE. It explains that CQRS reads data from a separate read model than where commands write to the domain model. In summary, CQRS separates commands from queries in a way that matches how people think, and provides an eventually consistent architecture.
Awesome Tools to Level Up Your Spring Cloud Architecture - Spring I/O 2017Andreas Evers
Documenting, testing, troubleshooting, and monitoring highly distributed systems in microservice architectures is hard. Finding quality, complementary tools in the wilds of open source can be even harder. Join this talk for a pragmatic look at taming some of the challenges of running microservices in production.
CQRS: A More Effective Way of Writing the Same ApplicationsCodeFest
The document discusses CQRS (Command Query Responsibility Segregation), an architectural pattern that separates read and write operations into different models. It aims to address complexity that arises from having a single model handle all aspects of a business domain. CQRS keeps write and read operations separated using different data models and stacks, which can simplify design and improve scalability. The document outlines different flavors of CQRS implementations from basic to more advanced using events and event sourcing.
Semplificare l'observability per progetti ServerlessLuciano Mammino
Hai mai pensato che le tue lambda functions possano fallire senza che tu te ne accorga? Se la risposta é "SI" probabilmente é perché ti sei giá "bruciato" giocando con il cloud, dove errori e fallimenti sono sempre dietro l'angolo. Purtroppo non possiamo prevenire tutti i fallimenti, pero' possiamo essere notificati quando qualcosa va storto cosí da poter reagire tempestivamente. Ma come fare a configurare il nostro ambiente AWS per raggiungere un buon livello di "Observability"? Se hai giá provato ad utilizzare CloudWatch saprai giá quanto possa essere complesso. In questo talk, esploreremo il tema dell'observability per applicazioni Serverless su AWS. Discuteremo problemi e best practices. Infine vi proporró un tool che permette di automatizzare la configurazione di CloudWatch per l'80% delle esigenze in pochi minuti!
Understanding the network's role in cloud computing requires understanding the effect of cloud computing on networking. The end result is five key trends in cloud networking, as presented by James Urquhart from Cisco Systems, and author of CNET's The Wisdom of Clouds
RA - Empower your Connected Enterprise with FactoryTalk.pptxAjay Gangakhedkar
The document discusses FactoryTalk InnovationSuite, an IIoT platform powered by PTC that provides data analytics, edge computing, AI, and augmented reality capabilities for empowering the connected enterprise. It presents an overview of the FactoryTalk InnovationSuite and its key components including the ThingWorx IIoT platform, fit for purpose applications, and data analytics tools. The platform allows for mobile/desktop access, orchestration of data sources from traditional and edge systems, and engages users through manufacturing apps, augmented reality, and scalable analytics.
This document discusses how architecture roles are changing in DevOps organizations. It argues that traditional architect roles are no longer needed and that architecture is now a continuous process done by the whole team, not a separate role. It provides examples of how organizations can structure teams and share architectural knowledge to be more agile through techniques like architecture decision records and modeling.
Cloud Computing for Business - The Road to IT-as-a-ServiceJames Urquhart
This document discusses the transition from infrastructure-centric IT operations to service-centric operations driven by cloud computing. It explains that cloud computing asks IT to deliver computing resources as a set of services rather than managing individual servers, networks, and storage. This new model of service operations is comprised of application operations, service operations, and infrastructure operations. Application operations focus on consuming services through tools like multi-cloud management. Service operations identify and deliver key services with supporting capabilities. Infrastructure operations provide the common foundation through APIs and automation.
Security in a Site Reliability Engineering (SRE) context with a focus on being pragmatic just makes sense. In this talk, we will look at 4 key areas where SRE and Security tribes can join forces and influence the overall business. This is a lab/discussion session.
Orchestrate CEO Antony Falco, talks about the future of software development.
Fast-track development and save 50-90% off your database costs. Sign up for a free Orchestrate account today: http://nodb.co/1wzT7Xj
The document discusses agile microservices and their advantages over monolithic architectures. It describes how to decompose a monolithic real estate management application into independent microservices for properties, facilities, and engineering. Microservices allow for improved independence, speed of development, automation, and use of different technologies. Inter-service communication can occur over REST, HTTP, or AMQP, while an API gateway pattern hides service complexity from clients. Cloud computing platforms like Docker and Convox can deploy and manage containerized microservices. The Internet of Things connects physical devices to these services over protocols like MQTT and WebSocket.
DC Spark Users Group March 15 2016 - Spark and Netflix RecommendationsChris Fregly
This document discusses various techniques for providing recommendations, including non-personalized and personalized recommendations. Non-personalized recommendations include using highest rated actors, top K aggregations, social graphs, or PageRank on likes/dislikes to address the cold start problem for new users. Personalized recommendations techniques discussed include user-to-user clustering based on similarity of viewing patterns or ratings. The document also covers feature engineering techniques such as normalization, dimensionality reduction, and one-hot encoding for modeling recommendations.
The document discusses the evolution of microservices architectures over time as techniques for handling issues like failures and timeouts were developed. It describes how early approaches involved adding timeouts and circuit breakers to code. Later, approaches involved sharing state between services and client-side service discovery. Today, sidecars and service meshes have moved reliability patterns lower in the stack, standardizing protocols and allowing services to abstract away operational concerns. However, meshes also introduce new tradeoffs around portability and development cycles.
Building Data Intensity with AWS MSK & Lenses.ioLenses.io
This document discusses building data intensity through a DataOps approach. It emphasizes focusing on what matters through streaming data flows, self-service data visibility and governance, and skills. Data platforms need to provide visibility, access to data, integration capabilities, transformation capabilities, and deployment/scaling while being API-driven and allowing for governance, security and multi-tenancy. Technology should enable focus on data intensity. The remainder discusses Lenses.io's product for real-time applications and data operations and its use with AWS MSK for a customer, Vortexa, which tracks oil and gas flows.
Taxtron Technologies is an ISO 9001:2008 certified company that provides industrial and technological training. They have expertise in areas like IT hardware, networking, MATLAB, embedded systems, LabVIEW, industrial automation, and software development. Their goal is to reduce the gap between industry needs and what educational institutions teach. They train students to become industry-ready and also develop projects for industries and academic institutions.
“Performance” - Dallas Oracle Users Group 2019-01-29 presentationCary Millsap
In this session, Cary Millsap begins with a little bit of the theory behind why reducing call count is the most important goal of optimizing performance. Then he works through two examples where understanding the call count reduction idea is key to making progress. The first worked example is an intermittent performance problem that was frustratingly difficult to reproduce. The second worked example is a performance problem caused by an inefficiently-written application that overtaxes the system’s CPU.
Spark Summit East NYC Meetup 02-16-2016 Chris Fregly
This document summarizes a presentation on recommendations and machine learning using Apache Spark. It discusses scaling techniques like parallelism and composability. It also covers similarity measures, recommendation algorithms, and common approximations used like sampling. Common algorithms and data structures are explained, like similarity graphs and PageRank. Finally, it provides an overview of Netflix's recommendations system and data pipeline.
The scale-up, the autonomy and the nuclear submarineThomas Pierrain
The document discusses the challenges of scaling up an organization while maintaining autonomy at various levels. It advocates giving teams and individuals responsibility and autonomy rather than micromanaging them. It also notes that while autonomy is important, it is not universally desired by all and balancing autonomy with coordination is delicate. The document concludes by stating the goal of leaving an organization with more autonomous people than when one started.
La scale-up, l'autonomie et le sous-marin nucléaireThomas Pierrain
La plupart des organisations efficaces ont en commun d’avoir des équipes autonomes. L’autonomie est aussi un moteur individuel puissant : qui n’aime pas se sentir libre de définir sa vie, ses horaires, sa façon de travailler ?
Lorsqu’on travaille dans une scale-up en plein essor et qui grossit de manière exponentielle, l’autonomie n’est plus une option, c’est un carburant indispensable.
Mais est-ce pour autant facile à mettre en oeuvre ?
C’est de cette quête d’autonomie dont nous aimerions vous parler à travers nos histoires, nos réussites et nos erreurs. Nous parlerons de full-remote, de release management, de démarche SRE, de conflits d’équipes et de Domain Driven Design.
On parlera aussi d’auto-organisation, d’APIs de split de monolithe, mais également de sous-marins nucléaires et de contract tests.
Au final, pleins de trucs et astuces pour arriver à mettre en place une Culture de l’autonomie qui tienne la route sur le long terme.
This document discusses the importance of context in software development. It notes that without understanding the context, software can become too rigid or technical. It also discusses the need to represent the same real-world instrument, such as a futures contract, differently based on the context of trading, financial, or market systems. The document advocates for frequent communication between developers and customers to ensure the software properly accounts for necessary contexts.
This document discusses the principles and practices of extreme programming (XP). It presents the 13 core practices of XP including simple design, pair programming, collective ownership, and test-driven development. It emphasizes that XP relies on close collaboration between team members and embracing change. XP aims to remove barriers between team members and create a safe, supportive environment for software development.
TDD is a game changer. It changed my dev life for good, no doubt. Having made almost all possible errors while practicing it over the years (more than 15 years of TDD practice), I have now ended up since many years with a style that provides me and my teams lots of efficiency and happiness.
A style that Bruno Boucard and myself have called the “outside-in diamond” TDD. Something that help us to easily write both domain-driven, but also "Antifragile" tests.
A session made at DDD Africa
The document discusses moving beyond a traditional hexagonal architecture to a more functional architecture. It outlines some benefits of a functional core such as business code without side effects and the ability to separate decisions from actions. The document compares features of hexagonal versus functional architecture and notes they should not be directly compared as they relate to different programming paradigms. It also questions whether the term "beyond hexagonal" accurately reflects incorporating functional concepts. Overall, the document explores options for mixing hexagonal architecture and functional programming principles.
The document outlines 9 indispensable debugging rules:
1. Understand the system thoroughly as this is the most important rule for debugging.
2. Understand how the system works as debugging is difficult without this knowledge.
3. Methodically eliminate potential reasons for failures instead of speculating on many possible causes to find the actual cause.
Hexagonal architecture vs Functional core / Imperative shellThomas Pierrain
The document discusses the differences between hexagonal architecture and functional architecture for software design. Hexagonal architecture separates infrastructure from business logic but allows business code with side effects, while functional architecture requires business code be free of side effects. Both approaches separate infrastructure from business concerns and support testability, but functional architecture more strictly avoids technical leaks into the domain and is better suited for functional programming languages. The document raises questions about how to handle sequential I/O operations in a functional style.
Au-delà de la passion, faire du logiciel pour moi c’est aider les autres à résoudre leurs problèmes. Comment aider les autres si on n’est pas déjà clair soi-même avec sa posture, son métier, ses envies, ses ambitions ou bien ses craintes ? C’est la question que je me suis posé à plusieurs reprises durant ma carrière. Et c’est de cela - et des quelques aides trouvées en route - dont je voudrais vous parler.
Keynote d'ouverture de la conférence d'Alpes Craft 2019 (le 13 juin 2019)
When building an Event Sourcing system, can we change the past? Can we also forecast “events” in the future?
If we want to provide various projections/visions of things that hapenned over the time, what are the consequences and trade-offs on our code?
All these questions will be answered during this talk. But moreover, I'll tell you our learning story about Bi-temporal Event Sourcing. Yet another illustration of the power of modeling, sketches and concrete examples when we need to understand each others.
Coder, c'est de plus en plus façonner le monde. Redéfinir ses contours et certaines interactions que nous pouvons avoir (ou pas) entre nous.
Si certains métiers se sont déjà interrogés par le passé sur leur rôle et leur impact sur la société, il me semble que ces questions d'éthique ne nous traversent pas encore suffisamment dans la sphère des faiseuses et faiseurs de logiciels.
Et si on se posait quelques minutes pour faire le tour de certaines d'entre elles ?
Unmaintainable code, repetitive bugs, time-consuming corrections, depressed teams ... No wonder most of us prefer to start projects from scratch (a.k.a. Greenfield) rather than a Legacy code base (Brownfield). For sure, situations where control has been lost are annoying, even more: exhausting. But what if we were wrong? What if -fully equipped with some refactoring techniques and communication skills- we were able to reverse things and get back control over such situations?
During a session with real live-coding inside, come and discover the tips and tricks from people who prefer to regain control rather than undergo. From people who prefers the hidden opportunities of the legacy to the blank pages of the Greenfield projects. You too, realize it could be fun and join the Legacy Club!
Quickie made in french during DevoxxFR 2015
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 ;-)
Lots of bloggers are using Google AdSense now. It’s getting really popular. With AdSense, bloggers can make money by showing ads on their websites. Read this important article written by the experienced designers of the best website designing company in Delhi –
IN Dubai [WHATSAPP:Only (+971588192166**)] Abortion Pills For Sale In Dubai** UAE** Mifepristone and Misoprostol Tablets Available In Dubai** UAE
CONTACT DR. SINDY Whatsapp +971588192166* We Have Abortion Pills / Cytotec Tablets /Mifegest Kit Available in Dubai** Sharjah** Abudhabi** Ajman** Alain** Fujairah** Ras Al Khaimah** Umm Al Quwain** UAE** Buy cytotec in Dubai +971588192166* '''Abortion Pills near me DUBAI | ABU DHABI|UAE. Price of Misoprostol** Cytotec” +971588192166* ' Dr.SINDY ''BUY ABORTION PILLS MIFEGEST KIT** MISOPROSTOL** CYTOTEC PILLS IN DUBAI** ABU DHABI**UAE'' Contact me now via What's App… abortion pills in dubai Mtp-Kit Prices
abortion pills available in dubai/abortion pills for sale in dubai/abortion pills in uae/cytotec dubai/abortion pills in abu dhabi/abortion pills available in abu dhabi/abortion tablets in uae
… abortion Pills Cytotec also available Oman Qatar Doha Saudi Arabia Bahrain Above all** Cytotec Abortion Pills are Available In Dubai / UAE** you will be very happy to do abortion in Dubai we are providing cytotec 200mg abortion pills in Dubai** UAE. Medication abortion offers an alternative to Surgical Abortion for women in the early weeks of pregnancy. We only offer abortion pills from 1 week-6 Months. We then advise you to use surgery if it's beyond 6 months. Our Abu Dhabi** Ajman** Al Ain** Dubai** Fujairah** Ras Al Khaimah (RAK)** Sharjah** Umm Al Quwain (UAQ) United Arab Emirates Abortion Clinic provides the safest and most advanced techniques for providing non-surgical** medical and surgical abortion methods for early through late second trimester** including the Abortion By Pill Procedure (RU 486** Mifeprex** Mifepristone** early options French Abortion Pill)** Tamoxifen** Methotrexate and Cytotec (Misoprostol). The Abu Dhabi** United Arab Emirates Abortion Clinic performs Same Day Abortion Procedure using medications that are taken on the first day of the office visit and will cause the abortion to occur generally within 4 to 6 hours (as early as 30 minutes) for patients who are 3 to 12 weeks pregnant. When Mifepristone and Misoprostol are used** 50% of patients complete in 4 to 6 hours; 75% to 80% in 12 hours; and 90% in 24 hours. We use a regimen that allows for completion without the need for surgery 99% of the time. All advanced second trimester and late term pregnancies at our Tampa clinic (17 to 24 weeks or greater) can be completed within 24 hours or less 99% of the time without the need for surgery. The procedure is completed with minimal to no complications. Our Women's Health Center located in Abu Dhabi** United Arab Emirates** uses the latest medications for medical abortions (RU-486** Mifeprex** Mifegyne** Mifepristone** early options French abortion pill)** Methotrexate and Cytotec (Misoprostol). The safety standards of our Abu Dhabi** United Arab Emirates Abortion Doctors remain unparalleled. They consistently maintain the lowest complication rates throughout the nation. Our
Attendance Tracking From Paper To DigitalTask Tracker
If you are having trouble deciding which time tracker tool is best for you, try "Task Tracker" app. It has numerous features, including the ability to check daily attendance sheet, and other that make team management easier.
A captivating AI chatbot PowerPoint presentation is made with a striking backdrop in order to attract a wider audience. Select this template featuring several AI chatbot visuals to boost audience engagement and spontaneity. With the aid of this multi-colored template, you may make a compelling presentation and get extra bonuses. To easily elucidate your ideas, choose a typeface with vibrant colors. You can include your data regarding utilizing the chatbot methodology to the remaining half of the template.
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsEstuary Flow
Unlock the full potential of your data by effortlessly migrating from PostgreSQL to Snowflake, the leading cloud data warehouse. This comprehensive guide presents an easy-to-follow 8-step process using Estuary Flow, an open-source data operations platform designed to simplify data pipelines.
Discover how to seamlessly transfer your PostgreSQL data to Snowflake, leveraging Estuary Flow's intuitive interface and powerful real-time replication capabilities. Harness the power of both platforms to create a robust data ecosystem that drives business intelligence, analytics, and data-driven decision-making.
Key Takeaways:
1. Effortless Migration: Learn how to migrate your PostgreSQL data to Snowflake in 8 simple steps, even with limited technical expertise.
2. Real-Time Insights: Achieve near-instantaneous data syncing for up-to-the-minute analytics and reporting.
3. Cost-Effective Solution: Lower your total cost of ownership (TCO) with Estuary Flow's efficient and scalable architecture.
4. Seamless Integration: Combine the strengths of PostgreSQL's transactional power with Snowflake's cloud-native scalability and data warehousing features.
Don't miss out on this opportunity to unlock the full potential of your data. Read & Download this comprehensive guide now and embark on a seamless data journey from PostgreSQL to Snowflake with Estuary Flow!
Try it Free: https://dashboard.estuary.dev/register
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Softwares
NBFC Software: Optimize Your Non-Banking Financial Company
Enhance Your Financial Services with Comprehensive NBFC Software
NBFC software provides a complete solution for non-banking financial companies, streamlining banking and accounting functions to reduce operational costs. Our software is designed to meet the diverse needs of NBFCs, including investment banks, insurance companies, and hedge funds.
Key Features of NBFC Software:
Centralized Database: Facilitates inter-branch collaboration and smooth operations with a unified platform.
Automation: Simplifies loan lifecycle management and account maintenance, ensuring efficient delivery of financial services.
Customization: Highly customizable to fit specific business needs, offering flexibility in managing various loan types such as home loans, mortgage loans, personal loans, and more.
Security: Ensures safe and secure handling of financial transactions and sensitive data.
User-Friendly Interface: Designed to be intuitive and easy to use, reducing the learning curve for employees.
Cost-Effective: Reduces the need for additional manpower by automating tasks, making it a budget-friendly solution. Benefits of NBFC Software:
Go Paperless: Transition to a fully digital operation, eliminating offline work.
Transparency: Enables managers and executives to monitor various points of the banking process easily.
Defaulter Tracking: Helps track loan defaulters, maintaining a healthy loan management system.
Increased Accessibility: Cutting-edge technology increases the accessibility and usability of NBFC operations. Request a Demo Now!
Overview of ERP - Mechlin Technologies.pptxMitchell Marsh
This PowerPoint presentation provides a comprehensive overview of Enterprise Resource Planning (ERP) systems. It covers the fundamental concepts, benefits, and key functionalities of ERP software, illustrating how it integrates various business processes into a unified system. From finance and HR to supply chain and customer relationship management, ERP facilitates efficient data management and decision-making across organizations. Whether you're new to ERP or looking to deepen your understanding, this presentation offers valuable insights into leveraging ERP for business success.
Are you wondering how to migrate to the Cloud? At the ITB session, we addressed the challenge of managing multiple ColdFusion licenses and AWS EC2 instances. Discover how you can consolidate with just one EC2 instance capable of running over 50 apps using CommandBox ColdFusion. This solution supports both ColdFusion flavors and includes cb-websites, a GoLang binary for managing CommandBox websites.
31. Command
TRIGGERS AN ACTION
Modify the state of the system
>> Don’t return data ! <<
Imperative Verb
Ex: BookARoom
Query
ASKS FOR AN INFORMATION
Read-only!
Get back data
Imperative Verb
Ex: GetAvailableRooms
Event
ALREADY HAPPENED
(Immutable)
Past-tense
Ex: RoomBooked
33. Open Source Implementation available on GitHub
2 main parts:
CoreClr (Runtime execution) (C++)
CoreFx (including classes, collections, file systems, xml, etc.) (C#)
ASP.NET Core 1.0 framework relies on it
Classic deployment or
Container deployment (Linux or Windows)
.NET Core
// Licensed to the .NET Foundation under one or more agreements.
41. …a top-level architecture pattern
Use it for components under stress
Do not generalize its usage for all the components of your platform!
CQRS is not…
45. Well-separated read and write concerns
CQRS is mostly
Queries
Caches, Ready-
to-eat data
(no SQL)
Commands
Transactionnal
ACID
46. Merci aussi à Rui CARVALHO, Mendel MONTEIRO-BECKERMAN,
Olivier COANET et Clément BOUDEREAU ainsi que Greg YOUNG
pour leurs feedbacks et idées pour ce talk.