WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
The Marketplace data team at Uber has built a scalable complex event processing platform to solve many challenging real-time data needs for various Uber products. This platform has been in production for more than a year and supports over 100 real-time data use cases with a team of 3. In this talk, we will share the detail of the design and our experience, and how we employ Siddhi, Kafka and Samza at scale.
WSO2Con USA 2015: Building Web Apps with Reusable UI Components and CompositionWSO2
This session will discuss how the reusable UI component framework is transforming ad-hoc web development into an efficient yet pragmatic practice. The same principles and best practices that we follow when creating well-designed backend applications are applied in the context of UI design.
With this new framework, cohesive units of UI code with back-end logic will come together to create a complete app only at build time. This allows UI components to be shared across apps without compromising the look and feel of the apps. It adheres to the ‘open/closed principle’ by letting the final app to be modified by you without changing the original app’s code, and thereby minimizing the migration and patching cost.
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
The Marketplace data team at Uber has built a scalable complex event processing platform to solve many challenging real-time data needs for various Uber products. This platform has been in production for more than a year and supports over 100 real-time data use cases with a team of 3. In this talk, we will share the detail of the design and our experience, and how we employ Siddhi, Kafka and Samza at scale.
WSO2Con USA 2015: Building Web Apps with Reusable UI Components and CompositionWSO2
This session will discuss how the reusable UI component framework is transforming ad-hoc web development into an efficient yet pragmatic practice. The same principles and best practices that we follow when creating well-designed backend applications are applied in the context of UI design.
With this new framework, cohesive units of UI code with back-end logic will come together to create a complete app only at build time. This allows UI components to be shared across apps without compromising the look and feel of the apps. It adheres to the ‘open/closed principle’ by letting the final app to be modified by you without changing the original app’s code, and thereby minimizing the migration and patching cost.
[WSO2Con EU 2017] Container-native ArchitectureWSO2
Enterprises are increasingly adopting DevOps. Docker adoption has surged to 35%, taking the lead over Chef and Puppet which at 28% each. To get the most out of the synergy between DevOps and containers you need to adopt container-native architecture for application development. This slide deck explores the importance of having container-native architecture in your enterprise and WSO2’s roadmap for it.
[WSO2Con EU 2017] Writing Microservices Using MSF4JWSO2
Microservice architecture (MSA) is fast becoming a popular pattern in today's agile enterprises. Its iterative architectural approach and development methodologies are attracting the interest of architects and developers who need to ensure continuous, agile delivery and flexible deployment of complex, service-oriented applications. In this session, we take a look at how Microservices Framework for Java can be used to develop and deploy MSA solutions.
[WSO2Con EU 2017] Creating Composite Services Using BallerinaWSO2
To implement most business use cases, it is required to reuse existing services. Writing everything from scratch isn’t practical or efficient. A composite service is a coarse-grained service which reuses the functionality exposed by other services. This session will explore how implementing composite services using Ballerina is straightforward as it has all the features required to implement various types of composite services.
Building complex, decoupled server side applications leans in the end to an ESB like architecture. SwarmESB provides such architecture for agile companies that already have node.js skills available. Swarm communication is an abstraction over message queues and can help you reduce costs and risks related to migrating to a SOA/ESB architecture.
Implementing advanced integration patterns with WSO2 ESBWSO2
Enterprise Integration is a means of linking the different components of an SOA system. The success of an SOA solution heavily depends on proper enterprise integration. However this is easier said than done. There are many complex requirements to this process one of which is the need to interconnect heterogeneous systems which use different message formats and protocols and these systems needs to work together to achieve the final outcome
Approaches to make your software project upgrade friendly and easy for everyday development. How can we save time and efforts at technology upgrading phases.
Nodeconf Barcelona 2015 presentation exploring several ways of building microservices in an asynchronous way. Presented the concept of a broker as an alternative to a multiple point-to-point architecture.
How to disassemble a monolithic app in (not-so) micro-servicesCodemotion
"How to disassemble a monolithic app in (not-so) micro-services" by Michele Franzin.
There's a huge interest around microservices and microservice architecture... almost every IT conference has a session about it. A clear idea of the benefits/pitfalls that this approach brings is crucial for a successful adoption in a project. In this presentation I share some of the experiences made during the dismantling a monolithic application into microservices. I analyze some of the reasons justifying the adoption of this type of architecture, talk about the most important issues to consider and reveal some approaches that have been successful in our experience.
From Monolithic to Microservices in 45 MinutesMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
In this session you will learn how to leverage both Python and MongoDB to build highly scalable, asynchronous applications based on microservices architecture. We will review how to connect several different “exotic” services, using a variety of datasets, that together we can mashup into a consolidated application.
We will start by introducing several technologies that we will be using (e.g. Python, Flask, MongoDB, AngularJS) and take a ten-thousand foot overview of micro services architecture. At the end of the talk you will have a better understanding of how to decouple and implement microservices with MongoDB.
[WSO2Con EU 2017] Container-native ArchitectureWSO2
Enterprises are increasingly adopting DevOps. Docker adoption has surged to 35%, taking the lead over Chef and Puppet which at 28% each. To get the most out of the synergy between DevOps and containers you need to adopt container-native architecture for application development. This slide deck explores the importance of having container-native architecture in your enterprise and WSO2’s roadmap for it.
[WSO2Con EU 2017] Writing Microservices Using MSF4JWSO2
Microservice architecture (MSA) is fast becoming a popular pattern in today's agile enterprises. Its iterative architectural approach and development methodologies are attracting the interest of architects and developers who need to ensure continuous, agile delivery and flexible deployment of complex, service-oriented applications. In this session, we take a look at how Microservices Framework for Java can be used to develop and deploy MSA solutions.
[WSO2Con EU 2017] Creating Composite Services Using BallerinaWSO2
To implement most business use cases, it is required to reuse existing services. Writing everything from scratch isn’t practical or efficient. A composite service is a coarse-grained service which reuses the functionality exposed by other services. This session will explore how implementing composite services using Ballerina is straightforward as it has all the features required to implement various types of composite services.
Building complex, decoupled server side applications leans in the end to an ESB like architecture. SwarmESB provides such architecture for agile companies that already have node.js skills available. Swarm communication is an abstraction over message queues and can help you reduce costs and risks related to migrating to a SOA/ESB architecture.
Implementing advanced integration patterns with WSO2 ESBWSO2
Enterprise Integration is a means of linking the different components of an SOA system. The success of an SOA solution heavily depends on proper enterprise integration. However this is easier said than done. There are many complex requirements to this process one of which is the need to interconnect heterogeneous systems which use different message formats and protocols and these systems needs to work together to achieve the final outcome
Approaches to make your software project upgrade friendly and easy for everyday development. How can we save time and efforts at technology upgrading phases.
Nodeconf Barcelona 2015 presentation exploring several ways of building microservices in an asynchronous way. Presented the concept of a broker as an alternative to a multiple point-to-point architecture.
How to disassemble a monolithic app in (not-so) micro-servicesCodemotion
"How to disassemble a monolithic app in (not-so) micro-services" by Michele Franzin.
There's a huge interest around microservices and microservice architecture... almost every IT conference has a session about it. A clear idea of the benefits/pitfalls that this approach brings is crucial for a successful adoption in a project. In this presentation I share some of the experiences made during the dismantling a monolithic application into microservices. I analyze some of the reasons justifying the adoption of this type of architecture, talk about the most important issues to consider and reveal some approaches that have been successful in our experience.
From Monolithic to Microservices in 45 MinutesMongoDB
Presented by Norberto Leite, Developer Advocate, MongoDB
In this session you will learn how to leverage both Python and MongoDB to build highly scalable, asynchronous applications based on microservices architecture. We will review how to connect several different “exotic” services, using a variety of datasets, that together we can mashup into a consolidated application.
We will start by introducing several technologies that we will be using (e.g. Python, Flask, MongoDB, AngularJS) and take a ten-thousand foot overview of micro services architecture. At the end of the talk you will have a better understanding of how to decouple and implement microservices with MongoDB.
The Journey from Monolith to Microservices: a Guided AdventureVMware Tanzu
SpringOne Platform 2016
Speaker: Mike Gehard; Senior Software Engineer, Pivotal
Are you starting a new application and wondering whether to go with a monolith or take the microservices path? Do you have an existing application that is getting too big to deliver business value with a predictable velocity? Ever wonder how to regain the agility you had when an application was smaller?
The current discussions around application architecture with microservices seem like an all or nothing journey without any stops along the way to catch your breath. This talk outlines questions to ask yourself to drive decisions along the way. It also demonstrates one possible path for future growth, complete with intermediate stops along the way where you can pause to evaluate your next step. This path avoids implementing too much complexity early in the process.
At the end of the journey you will not only have ideas to guide your own path, but tools that you can use to make the journey easier and less costly.
DEVNET-1142 Decomposing Monolithic Applications to MicroservicesCisco DevNet
Microservices style architectures provide several benefits, such as enabling shorter delivery cycles, improved elasticity and resiliency. However, most existing applications are not developed using a microservices-style architecture. In this session, we describe how you can incrementally transform a traditional 3-tier monolith application, into a microservices style application. Beyond design and development of microservices, the session will also provide best practices and guidelines on the operations and cultural changes required for a successful transformation to Microservices.
Keynote at Dockercon Europe Amsterdam Dec 4th, 2014.
Speeding up development with Docker.
Summary of some interesting web scale microservice architectures.
Please send me updates and corrections to the architecture summaries @adrianco
Thanks Adrian
Microservices are small services with independent lifecycles that work together. There is an underlying tension in that definition – how independent can you be when you have to be part of a whole? I’ve spent much of the last couple of years trying to understand how to find the right balance, and in this talk/tutorial I’ll be presenting the core seven principles that I think represent what makes microservices tick.
After a brief introduction of what microservices are and why they are important, we’ll spend the bulk of the time looking at the principles themselves, wherever possible covering real-world examples and technology:
- Modelled around business domain – using techniques from domain-driven design to find service boundaries leads to better team alignment and more stable service boundaries, avoiding expensive cross-service changes.
- Culture of automation – all organisations that use microservices at scale have strong cultures of automation. We’ll look at some of their stories and think about which sort of automation is key.
- Hide implementation details – how do you hide the detail inside each service to avoid coupling, and ensure each service retains its autonomous nature?
- Decentralize all the things! – we have to push power down as far as we can, and this goes for both the system and organisational architecture. We’ll look at everything from autonomous self-contained teams and internal open source, to using choreographed systems to handle long-lived business transactions.
- Deploy independently – this is all about being able to deploy safely. So we’ll cover everything from deployment models to consumer-driven contracts and the importance of separating deployment from release.
- Isolate failure – just making a system distributed doesn’t make it more stable than a monolithic application. So what do you need to look for?
- Highly observable – we need to understand the health of a single service, but also the whole ecosystem. How?
In terms of learning outcomes, beginners will get a sense of what microservices are and what makes them different, whereas more experienced practitioners will get insight and practical advice into how to implement them.
Weaveworks discusses Microservices and best practices
Visit Weave Cloud: https://www.weave.works/product/cloud/
For more free talks, join our Weave Online User Group: https://www.meetup.com/Weave-User-Group/
Microservices created quite a buzz in software development. Those are finally being adopted, and a lot of project suffer from that... microservices bring a lot of infrastructure and distributed programming complexity not all organisations can cope with. Question is – is it possible to gradually migrate to microservices architecture without Big Bang/Rewrite From Scratch approach? I would say it is possible, and is a much better idea compared to installing Kubernetes on AWS on day one. This talk is based on practical experience of architecting business applications to scale out and grow up to become micro services one day.
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup
Azure Service Fabric is now Generally Available!
In this meetup we will start from the beginning and define what is microservice.
Next we will have a deep dive in Azure Service Fabric. Azure Service Fabric is one of the most interesting Azure service. Used internally in Microsoft for 5 years and backing up one of the most demanding Azure services today such as Azure SQL, Document DB, Cortana and Skype for Business.
We will be talking about the two models that are supported by Azure Service Fabric:
- Reliable Services (We will explore the reasons for having both stateful and stateless offerings in this model)
- Reliable Actors
Then we will talk how you can create Azure Service Fabric cluster on premise or in another cloud.
We will demo deployments in Azure for the various models.
Azure Service Fabric is the most advanced and complete offering for developing and hosting microservices in Azure. It builds on years experience Microsoft acquired running one of the most demanding services such as Azure SQL. Moreover, Azure Service Fabric solves very difficult distributed computing problems such as data synchronization, zero downtime deployment, update and rollback operations at large scale.
Join us to learn more about Azure Service Fabric and start using it immediately after the meetup!
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Dmitry Lazarenko
This presentation describes how PaaS & CaaS can be helpful for ISVs and Enterprises, what particular use cases can be solved using private and hybrid cloud powered by Jelastic
Microservices
Patterns and Practices
Introduction and Definitions
Monolithic vs. Microservices
Advantages
Decomposition
Data Management
Communication
Deployment
Docker
This is a small introduction to microservices. you can find the differences between microservices and monolithic applications. You will find the pros and cons of microservices. you will also find the challenges (Business/ technical) that you may face while implementing microservices.
“Microservices” have become a trendy development strategy. Hosting and running such services used to be pretty painful... but here comes Service Fabric! Let’s take a closer look at this platform, its different development models and all the features it offers, and not only for microservices!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
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.
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.
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!
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
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/
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.
4. Issues monolithic
applications
• Complexity
• Hard deploy
• Hard use new tools (DB, languages, etc.)
• Scale team size
• Changes are typically expensive
5. What is it SOA?
• A modular style to software development
is based on the use of distributed, loosely
coupled, replaceable components.
• The fundamental concept of an SOA is that
each component of the system is broken
up into network-accessible services, which
are integrated to make a functioning
application.
6. Rails application with
multiple services
End user
High level domain logic
Service 1 Service 2 Service N
Domain logic Domain logic Domain logic
Database Database Database
10. Robustness
• Implementation can be changed without
the API consumer’s knowledge.
• Example: Changing libraries, database or
even languages.
11. Scalability
• Easy to scale portions of application
individually.
• Can be handled on a case-by-case instead
of requiring optimization of a single
database for all cases.
• Easier to scale team size.
12. Agility
• New services can be implemented outside
the full architecture.
• Service interface should be versioned.
“/api/v1/users/:id”
• Design includes the ability to run multiple
versions of a service simultaneously.
“/api/v1/users/:id” and “/api/v2/users/:id”
13. Interoperability
• Prevents being tied to a specific
implementation.
• Services ease interoperation with internal
and external systems and with systems
written in languages other than Ruby.
14. Reuse
• Service-oriented design enables reuse of
components across multiple applications or
clients.
• If services are created for internal use, they
can be exposed later to the public.
15. Converting to Services
• Partitioning on Iteration Speed
• Partitioning on Logical Function
• Partitioning on Read/Write Frequencies
• Partitioning on Join Frequency
16. What we need to learn
• RESTful-Oriented • Create clients
Architecture
• Testing and Mocking
• HTTP Methods Service Calls
• HTTP Caching • Load Balancing
• MIME types • Security
• I/O, Threading, and • Web Hooks
Parallelism
• Chef
• Amazon AWS
• Typhoeus