Integration Patterns and Anti-Patterns for Microservices ArchitecturesApcera
Integration Patterns and Anti-Patterns for Microservices Architectures
David Williams
Co-Founder and Partner, Williams Garcia
You can learn more about NATS at http://www.nats.io
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
Here is the version of my microservices talk that that I gave on September 17th at the SVforum Cloud SIG/Microservices meetup.
To learn more see http://microservices.io and http://plainoldobjects.com
This is my presentation at DevNexus 2017 in Atlanta.
Containers are a default choice for packaging and deploying Microservices.
You will understand why containers are a natural fit for microservices, the value a container platform brings to the table, how to structure your microservices running as containers on an enterprise ready Kubernetes platform aka, OpenShift. We will also look at a sample microservices application packaged and running as containers on this platform.
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"Daniel Bryant
Many organizations are embracing cloud-native technologies, such as microservices, containers, and Kubernetes, but are struggling to adapt their developer experience (DevEx or DX) and continuous delivery processes. Failure to adapt leads to longer lead times for delivery, frustration for developers, and stability issues in production. Architects and technical leaders need to drive this change.
The developer experience with modern cloud-native technologies is very different than the classic enterprise experience of the 1990s or even the early cloud experiences of the 2000s. For example, it’s often no longer possible to spin up an entire application or system on local hardware, and the extra layers of abstract of containers and VMs make debugging and observing systems more challenging.
Daniel Bryant explores the core concepts of the cloud-native developer experience, introduces and compares several useful tools, and shares lessons learned from the trenches.
Integration Patterns and Anti-Patterns for Microservices ArchitecturesApcera
Integration Patterns and Anti-Patterns for Microservices Architectures
David Williams
Co-Founder and Partner, Williams Garcia
You can learn more about NATS at http://www.nats.io
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
Here is the version of my microservices talk that that I gave on September 17th at the SVforum Cloud SIG/Microservices meetup.
To learn more see http://microservices.io and http://plainoldobjects.com
This is my presentation at DevNexus 2017 in Atlanta.
Containers are a default choice for packaging and deploying Microservices.
You will understand why containers are a natural fit for microservices, the value a container platform brings to the table, how to structure your microservices running as containers on an enterprise ready Kubernetes platform aka, OpenShift. We will also look at a sample microservices application packaged and running as containers on this platform.
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"Daniel Bryant
Many organizations are embracing cloud-native technologies, such as microservices, containers, and Kubernetes, but are struggling to adapt their developer experience (DevEx or DX) and continuous delivery processes. Failure to adapt leads to longer lead times for delivery, frustration for developers, and stability issues in production. Architects and technical leaders need to drive this change.
The developer experience with modern cloud-native technologies is very different than the classic enterprise experience of the 1990s or even the early cloud experiences of the 2000s. For example, it’s often no longer possible to spin up an entire application or system on local hardware, and the extra layers of abstract of containers and VMs make debugging and observing systems more challenging.
Daniel Bryant explores the core concepts of the cloud-native developer experience, introduces and compares several useful tools, and shares lessons learned from the trenches.
Mastering Chaos - A Netflix Guide to MicroservicesJosh Evans
QConSF 2016 Abstract:
By embracing the tension between order and chaos and applying a healthy mix of discipline and surrender Netflix reliably operates microservices in the cloud at scale. But every lesson learned and solution developed over the last seven years was born out of pain for us and our customers. Even today we remain vigilant as we evolve our service architecture. For those just starting the microservices journey these lessons and solutions provide a blueprint for success.
In this talk we’ll explore the chaotic and vibrant world of microservices at Netflix. We’ll start with the basics - the anatomy of a microservice, the challenges around distributed systems, and the benefits realized when integrated operational practices and technical solutions are properly leveraged. Then we’ll build on that foundation exploring the cultural, architectural, and operational methods that lead to microservice mastery.
A presentation on what Everyday Hero are doing on the Ops side of things to help with its growth, performance and scaling for the future. The foundation of this strategy in containerisation (ie Docker) and DEIS as an orchestration layer for Continuous Delivery.
This presentation was co-authored and presented with Colin Bankier.
Cloud Foundry CEO Sam Ramji (@sramji) discusses the evolution of modern cloud computing architecture in a keynote speech at O'Reilly's Software Architecture Conference in Boston on March 19, 2015.
Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015Jim Bugwadia
Learn about the cloud native application maturity model, and how to evolve to microservices style applications deployed in containers, across public and private clouds.
This presentation is conducted on 14th Sept in Limerick DotNet User Group.
(https://www.meetup.com/preview/Limerick-DotNet/events/xskpdnywmbsb)
SlideShare Url: https://www.slideshare.net/lalitkale/introduction-to-microservices-80583928
In this presentation, new architectural style - Microservices and it's emergence is discussed. We will also briefly touch base on what are not microservices, Conway's law and organization design, Principles of microservices and service discovery mechanism and why it is necessary for microservices implementation.
About Speaker:
Lalit is a senior developer, software architect and consultant with more than 12 yrsof .NET experience. He loves to work with C# .NET and Azure platform services like App Services, Virtual Machines, Cortana, and Container Services. He is also the author of 'Building Microservices with .NET Core' (https://www.packtpub.com/web-development/building-microservices-net-core) book.
To know more and connect with Lalit, you can visit his LinkedIn profile below. https://www.linkedin.com/in/lalitkale/
This presentation will be useful for software architects/Managers, senior developers.
Do share your feedback in comments.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/20SN0dP.
Tammer Saleh talks about the mistakes people make when building a microservices architecture. He also talks about: when microservices are appropriate, and where to draw the lines between services, dealing with performance issues, testing and debugging techniques, managing a polyglot landscape and the explosion of platforms, managing failure and graceful degradation. Filmed at qconlondon.com.
Tammer Saleh is a long time developer, leader, and author of the acclaimed book *Rails AntiPatterns*. Saleh is currently building the Cloud Foundry platform at Pivotal.
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.
Develop in ludicrous mode with azure serverlessLalit Kale
Today, every one of us wants to get things done fast. The fact of the matter is Serverless is a fantastic platform for doing things fast. Because, with Serverless, you really don’t have time to waste in terms of delivering your business value. Turns out you can with the right cloud services. In this talk we’ll create a microservice using Azure Functions and also get introduced to bigger picture of serverless computing.
I presented this session in Global Azure Bootcamp 2019 in Dublin. #GlobalAzure #AzureFunctions #Serverless
Architecture principles, How to, Patterns,
Comparison with other SOA styles
Pragmatic options to scale Monoliths
Illustrated with the Netflix stack and Gilt, SoundCloud testimonials
To go futher, check 200 - Building Microservices
http://fr.slideshare.net/SteveSfartz/building-microservices-55458071
This deck was presented at Lendingkart meetup in Bangalore covering our experiences with creating CI/CD Pipeline with Kubernetes. Here is the video link of the meetup.
https://youtu.be/YraPL_NGmcs
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsNane Kratzke
The capability to operate cloud-native applications can create enormous business growth and value. But enterprise architects should be aware that cloud-native applications are vulnerable to vendor lock-in. We investigated cloud-native application design principles, public cloud service providers, and industrial cloud standards. All results indicate that most cloud service categories seem to foster vendor lock-in situations which might be especially problematic for enterprise architectures. This might sound disillusioning at first. However, we present a reference model for cloud-native applications that relies only on a small subset of well standardized IaaS services. The reference model can be used for codifying cloud technologies. It can guide technology identification, classification, adoption, research and development processes for cloud-native application and for vendor lock-in aware enterprise architecture engineering methodologies.
Introduction to Application Development
Monolithic Architecture
Problems With Monolithic
Microservices as an Alternative
Pros and Cons of Microservice Architecture
Scaling Your Application
Future of Serverless / Cloud Computing
Infrastructure As A Code
Mastering Chaos - A Netflix Guide to MicroservicesJosh Evans
QConSF 2016 Abstract:
By embracing the tension between order and chaos and applying a healthy mix of discipline and surrender Netflix reliably operates microservices in the cloud at scale. But every lesson learned and solution developed over the last seven years was born out of pain for us and our customers. Even today we remain vigilant as we evolve our service architecture. For those just starting the microservices journey these lessons and solutions provide a blueprint for success.
In this talk we’ll explore the chaotic and vibrant world of microservices at Netflix. We’ll start with the basics - the anatomy of a microservice, the challenges around distributed systems, and the benefits realized when integrated operational practices and technical solutions are properly leveraged. Then we’ll build on that foundation exploring the cultural, architectural, and operational methods that lead to microservice mastery.
A presentation on what Everyday Hero are doing on the Ops side of things to help with its growth, performance and scaling for the future. The foundation of this strategy in containerisation (ie Docker) and DEIS as an orchestration layer for Continuous Delivery.
This presentation was co-authored and presented with Colin Bankier.
Cloud Foundry CEO Sam Ramji (@sramji) discusses the evolution of modern cloud computing architecture in a keynote speech at O'Reilly's Software Architecture Conference in Boston on March 19, 2015.
Multi-Cloud Microservices - DevOps Summit Silicon Valley 2015Jim Bugwadia
Learn about the cloud native application maturity model, and how to evolve to microservices style applications deployed in containers, across public and private clouds.
This presentation is conducted on 14th Sept in Limerick DotNet User Group.
(https://www.meetup.com/preview/Limerick-DotNet/events/xskpdnywmbsb)
SlideShare Url: https://www.slideshare.net/lalitkale/introduction-to-microservices-80583928
In this presentation, new architectural style - Microservices and it's emergence is discussed. We will also briefly touch base on what are not microservices, Conway's law and organization design, Principles of microservices and service discovery mechanism and why it is necessary for microservices implementation.
About Speaker:
Lalit is a senior developer, software architect and consultant with more than 12 yrsof .NET experience. He loves to work with C# .NET and Azure platform services like App Services, Virtual Machines, Cortana, and Container Services. He is also the author of 'Building Microservices with .NET Core' (https://www.packtpub.com/web-development/building-microservices-net-core) book.
To know more and connect with Lalit, you can visit his LinkedIn profile below. https://www.linkedin.com/in/lalitkale/
This presentation will be useful for software architects/Managers, senior developers.
Do share your feedback in comments.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/20SN0dP.
Tammer Saleh talks about the mistakes people make when building a microservices architecture. He also talks about: when microservices are appropriate, and where to draw the lines between services, dealing with performance issues, testing and debugging techniques, managing a polyglot landscape and the explosion of platforms, managing failure and graceful degradation. Filmed at qconlondon.com.
Tammer Saleh is a long time developer, leader, and author of the acclaimed book *Rails AntiPatterns*. Saleh is currently building the Cloud Foundry platform at Pivotal.
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.
Develop in ludicrous mode with azure serverlessLalit Kale
Today, every one of us wants to get things done fast. The fact of the matter is Serverless is a fantastic platform for doing things fast. Because, with Serverless, you really don’t have time to waste in terms of delivering your business value. Turns out you can with the right cloud services. In this talk we’ll create a microservice using Azure Functions and also get introduced to bigger picture of serverless computing.
I presented this session in Global Azure Bootcamp 2019 in Dublin. #GlobalAzure #AzureFunctions #Serverless
Architecture principles, How to, Patterns,
Comparison with other SOA styles
Pragmatic options to scale Monoliths
Illustrated with the Netflix stack and Gilt, SoundCloud testimonials
To go futher, check 200 - Building Microservices
http://fr.slideshare.net/SteveSfartz/building-microservices-55458071
This deck was presented at Lendingkart meetup in Bangalore covering our experiences with creating CI/CD Pipeline with Kubernetes. Here is the video link of the meetup.
https://youtu.be/YraPL_NGmcs
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsNane Kratzke
The capability to operate cloud-native applications can create enormous business growth and value. But enterprise architects should be aware that cloud-native applications are vulnerable to vendor lock-in. We investigated cloud-native application design principles, public cloud service providers, and industrial cloud standards. All results indicate that most cloud service categories seem to foster vendor lock-in situations which might be especially problematic for enterprise architectures. This might sound disillusioning at first. However, we present a reference model for cloud-native applications that relies only on a small subset of well standardized IaaS services. The reference model can be used for codifying cloud technologies. It can guide technology identification, classification, adoption, research and development processes for cloud-native application and for vendor lock-in aware enterprise architecture engineering methodologies.
Introduction to Application Development
Monolithic Architecture
Problems With Monolithic
Microservices as an Alternative
Pros and Cons of Microservice Architecture
Scaling Your Application
Future of Serverless / Cloud Computing
Infrastructure As A Code
Introduction to Microservices Architecture - SECCOMP 2020Rodrigo Antonialli
This presentation gives an high-level overview of what is a Microservices Architecture, as a summary from well-known sources about the topic regarding it's characteristics, advantages and challenges, along with some enabling technologies.
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.
AWS Community Day: From Monolith to Microservices - What Could Go Wrong?Phuong Mai Nguyen
Almost every tech organisation right from start-ups to unimaginably big ones have had monolithic applications in the past and have moved on to nimbler approaches like microservices, making use of powerful cloud technologies. But not every organisation has made this move yet, with most of them still in analysing phase.
If you are part of this or interested in exploring how major players in the industry have managed to convert monoliths to microservices, join us in the talk to get an in-depth knowledge about things that could go wrong and how to make the right choices using AWS services. On top of practical techniques and real-life case studies, we will also be exploring agile methodologies and discuss if microservices are the right choice for your field of work.
Speaker:
Owen Garrett
Sr. Director, Product Management
NGINX, Inc.
On-Deman Link: https://www.nginx.com/resources/webinars/need-service-mesh/
About the webinar:
Service mesh is one of the hottest emerging technologies. Even though it’s a nascent technology, many vendors have already released their implementation. But do you really need a service mesh?
Attend this webinar to learn about the levels of maturity on the journey to modernizing your apps using microservices, and the traffic management approaches best suited to each level. We’ll help you figure out if you really need a service mesh.
Presentazione dello speech tenuto da Carmine Spagnuolo (Postdoctoral Research Fellow - Università degli Studi di Salerno/ ACT OR) dal titolo "Technology insights: Decision Science Platform", durante il Decision Science Forum 2019, il più importante evento italiano sulla Scienza delle Decisioni.
From JavaSpaces, JINI and GigaSpaces to SpringBoot, Akka – reactive and microservice pitfalls.
http://blog.mitemitreski.com/2014/11/java2days-2014-from-javaspaces-jini-and.html#.VHPK7x9jOCg
With microservices gone mainstream a few years ago, many organizations have now adopted them; even though all are paying the price in terms of training, solution complexity and operational costs, few are reaping the promised benefits.
Lower velocity, quality and performance issues, along with an overall lack of visibility are what we hear about most often.
In this session, working from our experience as advisors to software development teams, we’ll walk you through some of the symptoms you might experience, their possible causes and some potential solutions.
These are my summarized notes from all the microservices session I attended at QCon 2015. These sessions had tons of learning around how to scale microservices and avoid common pitfalls
Uploading an image or file is a very common/annoying task given the related post-upload work like styling and validating.
Fortunately, An Impressive gem called paperclip do that for us.
I18n in rails is very special part and it has some tricks and in this class we are attacking these 2 topics.
Nowadays almost there's no real application without solid authentication and authorization.
And almost every web app now either consumes or provides an API.
In this class we are using Devise gem to do the Authentication cancancan for authorization and rabl for APIs
Rails have a nice template engine called erb and it's cool however haml is super cool and in this class we practiced using haml along with bootstrap while understanding partials and helpers.
In this day we talked about a very cool design pattern called ActiveRecord.
We also talked about Rails model associations, validations and callbacks.
We finally talked about the rails query interface.
Murano is an application catalog that enables OpenStack administrators to one-click deploy scalable and highly available composite apps.
Murano applications are specially developed applications that make full use of OpenStack resources.
https://github.com/stackforge/murano
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
9 patterns of microservices
1. Top 9 patterns of
microservices architecture
Highlights from Martin Fowler, Sam Newman and James Lewis’s articles, talks and
Book
2. What’s Microservices Architecture ?
In short, the microservice architectural style is an approach to developing a single application as a suite
of small services, each running in its own process and communicating with lightweight mechanisms, often
an HTTP resource API. These services are built around business capabilities and independently
deployable by fully automated deployment machinery.
There is a bare minimum of centralized management of these services, which may be written in different
programming languages and use different data storage technologies.
-- James Lewis and Martin Fowler
4. #1 Componentization via Services
Pros
● Independently deployable
● More explicit component interface.
Cons
● Remote calls are more expensive than
in-process calls.
5. GraphiQL and Swagger vs. requirements.txt
(python example)
Components Scenario:
● Team A develops a package that wraps the
super important external API (SAPI).
● Teams B,C and D depends on this package
whenever Team A releases a new version of
the package the other *depndent* teams
should at least should change
requirements.txt and rebuild.
Services Scenario:
● Team A develops a RESTful API and Teams
B,C and D consumes this API.
● Team A is making whenever a new change
happens the swagger gets changed
automatically and end-point as backward
compatible as possible.
● Teams B,C and D should be tolerant about
response
7. #2 Organized around business capabilities.
● Siloed functional team leads
to siloed application
architecture.
● Simple changes will lead to
huge time and budget loss.
● Different priorities.
● With monolithic it’s very hard
for individuals.
8. #2 Organized around business capabilities.
● Cross-functional teams organized
around capabilities.
● End-to-end responsibility.
● Challenging to implement.
9. How big/small is a microservice ?
● The largest sizes reported follow Amazon's notion of the Two Pizza Team (i.e. the whole team can
be fed by two pizzas), meaning no more than a dozen people.
● The smaller size scale we've seen setups where a team of half-a-dozen would support half-a-dozen
services.
● Bottom-line it should be micro-sized responsibility.
● Check spotify’s squad, chapter tribe formation.
10. #3 Products not Projects
● You build it, you run it
● Devops culture is adopted by Facebook, spoitfy and others.
● Projects are time bounded. Products are continuous activity including but not limited to
developing features, deploying, fixing and up to getting 3AM support calls.
12. #4 Smart endpoints and dumb pipes
● Unlike ESB simple messaging queues are prefered RabbitMQ, 0MQ and ActiveMQ.
● Choreographed using simple RESTish protocols rather than complex protocols such as
WS-Choreography or BPEL or orchestration by a central tool.
● Changing messaging protocol / rpcing in monolithic may led to more complex/chatty application
● This may be one of the main differences between SOA and microservices architecture.
13. #5 Decentralized Governance
● Not every problem is a nail and not every solution a hammer.
● Prefer using the right tool for the job and while monolithic applications can take advantage of
different languages to a certain extent, it isn't that common.
● Internal opensource model.
● Consumer Driven Contracts. << This is where GraphQL plays a great role.
● Tolerant Reading.
● Postel's law (Conservative about what you send. Tolerant about what your receive.)*
*=Also called the robustness principle by Jon Postel who wrote an early specification of TCP
14. #6 Decentralized Data Management
Different perspectives of same entity.
● Campaign has like 10 meaning in our
current system.
● Polyglot persistence
● A huge problem is data consistency and
updates (distributed transactions)
● As long as the cost of fixing mistakes is
less than the cost of lost business under
greater consistency.
16. #7 Infrastructure Automation
● CI/CD
● Make it easy to do the right thing.
● If deployment is boring there isn't that
much difference between monoliths and
microservices.
● Difference between CI/CD in
monolithic and microservices
applications
17. #8 Design for failure
● Applications need to be designed so that they can tolerate the
failure of services.
● Netflix's Simian Army induced failures of services and even
datacenters during the working day to test both the
application's resilience and monitoring.
● Blackout drills.
● The Circuit Breaker
● Choreography and event collaboration. The RX Era.
● sophisticated monitoring, logging setups and dashboards for
each individual service.
18. This tree is having a hard time? Good because your legacy services will be migrated the same way!
19. #9 Evolutionary design
● Usually it’ll never be microservices from day1.
● Many microservice groups expects many services to be scrapped rather than evolved in the longer
term (2 weeks replaceability).
● The Guardian website Monolith to Microservices [add new features by building microservices that
use the monolith's API]
● StranglerApplication Pattern (Killing Softly!)
● Versioning of APIs and consistency.
● Evolutionary replaceability is another organic design.