Talk about how to improve the architecture and reduce the technical debt of your applications. By gradually separating away responsibilities from your monolithic apps into single responsibility services.
This document provides an overview of cloud native concepts including:
- Cloud native is defined as applications optimized for modern distributed systems capable of scaling to thousands of nodes.
- The pillars of cloud native include devops, continuous delivery, microservices, and containers.
- Common use cases for cloud native include development, operations, legacy application refactoring, migration to cloud, and building new microservice applications.
- While cloud native adoption is growing, challenges include complexity, cultural changes, lack of training, security concerns, and monitoring difficulties.
This document discusses moving from traditional monolithic and SOA architectures to microservices architectures. It covers principles of microservices like high cohesion, low coupling, independent deployability and scaling of services. It also discusses organizational implications, noting that teams are typically organized around business capabilities rather than technical layers in a microservices structure. Key challenges of microservices like increased complexity and performance overhead are also outlined.
KnockoutJS is a JavaScript library that provides declarative bindings between a data model and UI. It exposes the MVVM pattern, separating model, view, and view model concerns. Two-way data binding automatically synchronizes data between the model and view. Observables notify of changes and detect dependencies, enabling two-way binding between UI elements and the JavaScript view model. KnockoutJS is lightweight, fully documented, and suitable for building small to medium single-page applications.
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.
In this slide we have discussed, Monolithic application vs Microservices, applicable scenarios for adopting the architectural pattern, when we need microservices, what are the benefits, case study of an e-commerce platform by compartmentalizing the scopes into different sample microservices and Docker implementations.
The full talk has been recorded here: https://youtu.be/tNlp7HS533g
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
The document provides an overview of creating effective mobile applications with IBM Bluemix. It discusses IBM Mobile Foundation and mobile services available on Bluemix like Mobile Analytics, Push Notifications, and App ID. It recommends starting with the Bluemix Developer Console which supports building projects using UI, data, and services. The document also suggests focusing on microservices, authentication, and connecting to existing on-premise data when building mobile backends on Bluemix.
Are you jumping on the microservices bandwagon? When and when not to adopt micro services architecture? If you must, what are the considerations? This slidedeck will help answer a few of those questions...
This document provides an agenda for a Bluemix hands-on lab occurring on Friday, December 11th, 2015. The agenda includes introductions, three hands-on labs for deploying and scaling apps and introducing DevOps concepts, a discussion of integrating core banking and mobile app development, and several presentations on Bluemix and DevOps.
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 Architecture (MSA) - Presentation made at The Open Group confer...Somasundram Balakrushnan
The slides from the Microservices Architecture (MSA) presentation made at The Open Group conference 2015, in San Diego, CA, USA.
The co-chairs of the MSA project, Som B and Ovace M, presented and spoke on their current work and their findings from The Open Group project.
Voxxed Athens 2018 - Eventing, Serverless, and the Extensible EnterpriseVoxxed Athens
The document discusses event-driven application architectures on Microsoft Azure. It provides an overview of Azure messaging and eventing services like Event Hubs, Service Bus, Event Grid, and IoT Hub. It also discusses how serverless architectures on Azure using functions can enable reactive and event-driven applications. Building and device management scenarios are provided as examples of how sensor data from IoT devices could be processed and reacted to based on events.
An approach for linking Alfresco to external (non-Alfresco) applications, where Alfresco is not the core platform, but other applications are interested in Alfresco application events.
The document provides an overview of Netflix's approach to continuous delivery using their open source tools. It discusses how Netflix builds immutable infrastructure by baking software packages into pre-configured server images. It also describes how their build system tools like Gradle and Nebula plugins help standardize builds at scale. Finally, it outlines how tools like Eureka, Ribbon, and Asgard help enable ongoing deployment and management of cloud resources through concepts like service discovery and application clusters.
The document discusses challenges in migrating from a monolithic architecture to microservices, including splitting a legacy system into logical boundaries and determining which services to develop first. It also covers common problems that arise with microservices like authentication and service discovery. Implementation strategies are presented for managing transactions across services using patterns like sagas to maintain data consistency without distributed transactions.
MS Insights Brazil 2015 containers and devopsDamien Caro
Talking about DevOps and containers at MS Insights Sao Paolo 2015.
Talking about containers being or not the solution to implementing DevOps practices ? This talk includes a demonstration that show the integration between Visual Studio Online, Docker Hub and GitHub for continuous integration and automated deployment.
What is a itil and how does it relate to your collaborative environment uklugdominion
ITIL (IT Infrastructure Library) is a framework for managing IT services and ensuring they meet customer expectations. This presentation discusses key ITIL concepts like defining IT services, delivering services, measuring quality of service, and operational management through monitoring, reporting on KPIs and SLAs, problem and change management. Continuous improvement is important to regularly review services and customer requirements. Standard service requests are repeatable with set processes and timelines.
This document provides an overview of cloud computing. It begins with defining cloud computing and outlining its key characteristics: broad network access, resource pooling, elasticity, measured service, and self-service. It then discusses the benefits of cloud computing for organizations, including reducing costs, improving scalability and agility. It also covers the main cloud service models of IaaS, PaaS and SaaS. The document concludes with an overview of common cloud products and services, deployment models of public, private and hybrid clouds, and a quick recap of the key topics.
Evolving your Architecture to MicroServicesHector Tapia
Once-stable industries are rapidly being disrupted as companies move toward digitalization by embracing software at their core.
Deploying cloud-native application architectures is at the center of how these businesses are fueling their disruptive character.
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
Habitat is an open source tool for automating the build, deployment, and management of applications. It defines a standard lifecycle for applications that includes building, deploying, running, and managing applications and their dependencies. Habitat packages applications and dependencies together, and uses supervisors to manage applications in production. It aims to simplify and standardize the delivery of developer services by automating common tasks like configuration, service discovery, and clustering across different runtime environments.
What serverless means for enterprise appsSumit Sarkar
There’s a new approach to app development ripe with misconceptions and more buzzwords to translate to business sponsors. Industry analysts call it serverless, but it’s also known as backend as a service (BaaS), function as a service (FaaS), cloud-native architectures, or microservices—just to name a few. Whatever you call it, this approach is giving developers new freedom to focus on frontend functionality and deliver better, more innovative user experiences and ultimately establish value faster. Let’s discuss the pros and cons of serverless in enterprise architectures.
Agility and Control from AWS [FutureStack16]New Relic
The document discusses how DevOps practices can help organizations operate at hyper scale with AWS. It notes that software delivery has changed and disruption is faster than ever. It outlines some key DevOps tools needed like CI/CD pipelines for managing releases, testing, and deploying applications. The document discusses how Amazon transformed its development practices using microservices and pipelines to allow for faster delivery. It provides examples of how other companies have benefited from DevOps. Finally, it highlights some key AWS services that can help with DevOps practices like monitoring, infrastructure as code, and continuous integration/delivery pipelines.
Christian Posta is a principal middleware specialist and architect who has worked with large microservices architectures. He discusses why companies are moving to microservices and cloud platforms like Kubernetes and OpenShift. He covers characteristics of microservices like small autonomous teams and decentralized decision making. Posta also discusses breaking applications into independent services, shedding dependencies between teams, and using contracts and APIs for communication between services.
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS
The document discusses designing cloud-native software to take advantage of cloud platforms. It describes cloud-native software as software built specifically for the cloud that maximizes the cloud's benefits. The document outlines characteristics of good cloud-native applications like high scalability and availability. It also discusses adopting microservices architectures with containers, utilizing platform as a service, and following best practices like the twelve factors of cloud applications. The goal is to design applications that are portable, scalable, and can take full advantage of cloud infrastructure and services.
The Reality of Managing Microservices in Your CD PipelineDevOps.com
As we shift from monolithic software development practices to microservices, our well-designed CD pipeline will need to change. Microservices are small functions, deployed independently and linked via APIs at run-time. While these differences seem minor, they actually have a large impact on your overall CD structure. Think hundreds of workflows, small of any builds and the loss of a monolithic 'application.'
Join Tracy Ragan, CEO of DeployHub and Brendan O'Leary, Developer Evangelist at GitLab, to learn more.
It's never too early to start the conversation.
AWS Summit Auckland - Smaller is Better - Microservices on AWSAmazon Web Services
The document provides an overview of microservices including:
- Defining microservices and comparing them to SOA
- The benefits of a microservices architecture like improved agility, scalability, and innovation
- Common microservice patterns on AWS like serverless and container-based services
- How microservices can address business problems like long feature cycles and technical problems like lack of testability
- A customer story of how MYOB adopted microservices on AWS to support their online products
- Tips for evolving architectures including focusing on automation, organizational structure, and individual service design.
The document discusses microservices architecture and monolithic architecture. It defines microservices as an architectural style where applications are composed of small, independent services that communicate over well-defined APIs. This allows for independent deployability and scalability of individual services. The document contrasts this with monolithic architecture, which packages an entire application into a single deployable unit with tight coupling between components.
Martin Fowler defines microservices as an architectural style where single applications are developed as independent services that communicate with each other via lightweight mechanisms often using HTTP. Microservices are built around business capabilities, independently deployable, and owned by small teams. When developing microservices, continuous integration, deployment and automated testing are required. An API is not the same as a microservice - APIs expose data and behavior via contracts while microservices implement business capabilities. Microservices should only be used for large, complex systems that are hard to manage as a monolith.
The document discusses various software architecture patterns and principles, comparing monolithic and microservices architectures. It covers topics like layers, domain-driven design, code-first versus database-first approaches, and considerations for data management in multi-tenant systems. The key aspects of architectures like microservices and domain-driven design are explained at a high level.
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.
For enterprises trying to stay ahead of the game, having a robust and fast application development program can make or break their market presence. The challenge for developers, however, is to build responsive, devise-agnostic applications in days, not months.
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig DicksonAmazon Web Services Korea
This document provides an overview of microservices and how they can be implemented on AWS. It begins with defining microservices as independent services that work together to form an application. It then discusses how microservices address issues with monolithic architectures like tight coupling and lack of modularity. Various microservice patterns on AWS are presented, including using EC2 instances, ECS, Lambda, and serverless architectures. The document also explores how microservices can help address both business problems like long feature cycle times and technical problems like lack of testability. Overall, it aims to explain what microservices are, how they can be deployed on AWS, and the types of issues they can help organizations solve.
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Amazon Web Services
Microservice oriented architectures have been implemented and deployed by many and are on the near-term agenda of many others. However, the distributed nature of microservices is a double edged sword, being the source of many of the benefits, but also the source of the pain and confusion that teams have endured. We will review best practices and recommended architectures for deploying microservices on AWS with a focus on how to exploit the benefits of microservices to decrease feature cycle times and costs while increasing reliability, scalability, and overall operational efficiency.
Speaker: Craig Dickson, Solutions Architect, Amazon Web Services
Featured Customer - MYOB
The document discusses Christian Posta's journey with microservices architectures. It begins by explaining why organizations are moving to microservices and defines microservices. It then covers related topics like cloud platforms, container technologies like Kubernetes and OpenShift, benefits and drawbacks of microservices, and tools for developing microservices like Docker, Kubernetes, OpenShift, and Camel.
The document discusses microservices and provides definitions, examples, and considerations around this architectural style. It defines microservices as small, independent processes communicating via APIs to compose complex applications. It notes microservices allow for increased modularity, independence, and scalability compared to traditional monolithic architectures. The document also shares perspectives from experts on microservices and examples of companies using this approach.
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)TIMETOACT GROUP
This document provides an overview of integrating applications into IBM Connections cloud and on-premises environments. It discusses architectural questions to consider, such as whether to support both cloud and on-premises. It also covers how to integrate applications by leveraging APIs, customizing the navigation, and recommended tools. The presentation was given by software architects from TIMETOACT, an IBM business partner that develops applications integrating with IBM Connections.
Microservices are a software development technique—a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight.
Similar to From Monoliths to Services: Grafually paying your Technical Debt (20)
In this talk, we will explore strategies to optimize the success rate of storing and retaining new information. We will discuss scientifically proven ideal learning intervals and content structures. Additionally, we will examine how to create an environment that improves our focus while you remain in the “flow”. Lastly we will also address the influence of AI on learning capabilities.
In the dynamic field of software development, this knowledge will empower you to accelerate your learning curve and support others in their learning journeys.
Cultural Shifts: Embracing DevOps for Organizational TransformationMindfire Solution
Mindfire Solutions specializes in DevOps services, facilitating digital transformation through streamlined software development and operational efficiency. Their expertise enhances collaboration, accelerates delivery cycles, and ensures scalability using cloud-native technologies. Mindfire Solutions empowers businesses to innovate rapidly and maintain competitive advantage in dynamic market landscapes.
A Comparative Analysis of Functional and Non-Functional Testing.pdfkalichargn70th171
A robust software testing strategy encompassing functional and non-functional testing is fundamental for development teams. These twin pillars are essential for ensuring the success of your applications. But why are they so critical?
Functional testing rigorously examines the application's processes against predefined requirements, ensuring they align seamlessly. Conversely, non-functional testing evaluates performance and reliability under load, enhancing the end-user experience.
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.
Explore the rapid development journey of TryBoxLang, completed in just 48 hours. This session delves into the innovative process behind creating TryBoxLang, a platform designed to showcase the capabilities of BoxLang by Ortus Solutions. Discover the challenges, strategies, and outcomes of this accelerated development effort, highlighting how TryBoxLang provides a practical introduction to BoxLang's features and benefits.
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.
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdfonemonitarsoftware
WhatsApp Tracker Software is an effective tool for remotely tracking the target’s WhatsApp activities. It allows users to monitor their loved one’s online behavior to ensure appropriate interactions for responsive device use.
Download this PPTX file and share this information to others.
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
Discover the Power of ONEMONITAR: The Ultimate Mobile Spy App for Android Dev...onemonitarsoftware
Unlock the full potential of mobile monitoring with ONEMONITAR. Our advanced and discreet app offers a comprehensive suite of features, including hidden call recording, real-time GPS tracking, message monitoring, and much more.
Perfect for parents, employers, and anyone needing a reliable solution, ONEMONITAR ensures you stay informed and in control. Explore the key features of ONEMONITAR and see why it’s the trusted choice for Android device monitoring.
Share this infographic to spread the word about the ultimate mobile spy app!
3. “You want to make a “quick change” to
your software […], and it isn’t quick.
Whatever made that happen, that’s tech
debt.”
Dave Diehl
http://jimplush.com/talk/2015/02/
Senior Developer at Fusion Alliance
6. Like financial debt, technical debt comes with interests.
Failing to pay your debt, interests will come back at you.
Why is it called Debt?
8. THE SOFTWARE COST TRIAD
Move one corner and the others
will adjust accordingly
If you want to increase Quality, you
will have to spend more Money
and Time
Money Time
Quality
SOFTWARE
COST
Technical Debt comes when
Quality is not taken into account,
prioritising spending less or
working faster
9. Debt itself is not a bad thing!
Invest and pay back early!
Don’t leave debt hanging!
But Hey! It’s not always bad!
11. What are the causes?
• Cutting Corners
“I know it looks complicated, but I don’t have time to refactor it.”
https://www.codementor.io/ruby-on-rails/tutorial/staying-on-top-of-your-technical-debt
13. What are the causes?
• Lack of Testing
“We can write tests for it later.”
https://www.codementor.io/ruby-on-rails/tutorial/staying-on-top-of-your-technical-debt
15. What are the causes?
• Assuming “False Positives” are Positives
“The build fails sometimes, but it passes most of the time. Let’s just move on.”
https://www.codementor.io/ruby-on-rails/tutorial/staying-on-top-of-your-technical-debt
19. How to avoid?
• Work Clean
Seek for refactoring opportunities
21. How to avoid?
• Work Green
Have a Test Suite - Use Continuous Integration Tools
23. Grades of Debt - James Higgs
• Grade One: Accumulation due to extrinsic changes
Keep up to date with your dependencies and technologies
https://madebymany.com/blog/the-four-grades-of-technical-debt
25. Grades of Debt - James Higgs
• Grade Two: Developer Comfort
Code for readability - your future self and co-workers will much appreciate it
https://madebymany.com/blog/the-four-grades-of-technical-debt
27. Grades of Debt - James Higgs
• Grade Three: Cost of Pragmatism
Use debt wisely and prototype - throw away if not successful
https://madebymany.com/blog/the-four-grades-of-technical-debt
29. Grades of Debt - James Higgs
• Grade Four: The One with the Bite - Impossibility to Move Forward
Point of no return! If you’re here, it may be wise to think about restarting!
https://madebymany.com/blog/the-four-grades-of-technical-debt
33. “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.”
Martin Fowler
Chief Scientist at ThoughtWorks
http://martinfowler.com/articles/microservices.html
34. It's an architectural style that enables us to separate each of our product’s
responsibilities into very small and separate applications
This gives us flexibility
35. KISS / UNIX
Modern development adopted a similar style
Where does it come from?
https://en.wikipedia.org/wiki/KISS_principle
37. Why is it useful?
• Service Independence
Independent from one another - they have “contracts”
38. Why is it useful?
• Deployability
Have a bug in a component - fix and deploy
39. Why is it useful?
• Team Independence
Each can be owned by a different team
40. What are the downsides?
• Piping
You have to take into account the inter-connections
• Deployability
Orchestration and Versioning
• Infrastructure
Much more complex setup
42. “If someone asks me what cloud computing is, I try
not to get bogged down with definitions. I tell them
that, simply put, cloud computing is a better way to
run your business.”
Marc Benioff
CEO of salesforce.com
http://www.mercurynews.com/2009/10/23/2009-qa-marc-benioff-ceo-of-salesforce-com/
45. “Cloud computing is really a no-brainer for any start-up
because it allows you to test your business plan very
quickly for little money. Every start-up, or even a division
within a company that has an idea for something new,
should be figuring out how to use cloud computing in its
plan.”
Brad Jefferson
CEO & Co-Founder of Animoto
http://www.cio.com/article/2428093/infrastructure/cloud-computing--pros-and-cons.html
46. What does it provide us? - Infrastructure
• Cheap
Even with pay-on-demand pricing models
47. What does it provide us? - Infrastructure
• Replaceable
Changed the service? Drop the server and create a new one
48. What does it provide us? - Infrastructure
• Scalable
When demand raises, automatically spin up new copies to cope with demand
49. What does it provide us? - Software
• CDNs
Global content caching - Blazing fast websites
51. What does it provide us? - Software
• Content and Databases
Storage servers with multiple architectures
53. What does it provide us? - Software
• And EVERYTHING Else
Even sending “Thank You” notes as a Service
55. Current Options - Infrastructure
• Amazon Web Services
• Microsoft Azure
• Rackspace
• Google Cloud Engine
64. “Serverless architectures refer to applications that
significantly depend on third-party services (knows as
Backend as a Service or "BaaS") or on custom code that's
run in ephemeral containers (Function as a Service or
“FaaS”). […] By using these ideas, and by moving much
behaviour to the front end, such architectures remove the
need for the traditional 'always on' server system sitting
behind an application”
Mike Roberts
CEO & Co-Founder of Fried Gold Software
http://www.martinfowler.com/articles/serverless.html
67. “If your PaaS can efficiently start instances in 20ms
that run for half a second, then call it serverless.”
Adrian Cockcroft
Technology Fellow at Battery Ventures
https://twitter.com/adrianco/status/736553530689998848
69. “Microservices architecture potentially offers an
easier way to pay down technical debt. Refactoring
a big monolithic application can be the equivalent
of a balloon payment. […] you can pay your
technical debt incrementally by refactoring services
one by one.”
Eric Knorr
Editor in Chief at CNET
http://www.infoworld.com/article/2878659/application-development/reducing-technical-debt-with-microservices.html
70. Now that we’ve introduced the concepts
Let’s dive into how to apply them in practice
71. Starting from your Rails App
• Identify
Models usually travel in families - identify these families
73. Starting from your Rails App
• Categorize
Understand the functionality and responsibility of each component family
75. Starting from your Rails App
• Split
Create separate API apps exposing them
77. Starting from your Rails App
• Communicate
Integrate different parts of the application through it’s HTTP Interfaces
79. Moving away from Rails
• Move Static and Read-first content to a CMS
Marketing, Blogs, Product and non-user generated content moved
81. Moving away from Rails
• Decouple your Front-End from your business logic
Your HTML or Native app shouldn’t be tied to your server code
83. Moving away from Rails
• Profit from 3rd party Services
Use cloud based authentication, messaging, mailing, payments to remove burden
from your code
85. Moving away from Rails
• Leverage Static Sites and Static Assets
Using Static Site Generated websites + CDNs to deliver fast and increase conversion
86. “It’s much easier mentally to tackle $10,000 of debt
across 4 credit cards at $2500 each than 1 card at
the full $10,000.”
Jim Plush
Sr Director of Engineering at CrowdStrike
http://jimplush.com/talk/2015/02/28/microservices-allow-for-localized-tech-debt/
87. Keep Security in Check
• Validate
Validate on your Client side code - specially on payment transactions
89. Keep Security in Check
• Validate
Validate on your Middleware - specially on payment transactions
91. Keep Security in Check
• Validate
Make sure not to expose your internals
93. Keep Security in Check
• Validate
Make sure you have retry and fallback mechanisms
95. Rounding up
• Prototype and test ideas
• Create single responsibility applications
• Test your code
• Keep it safe