So, your monolith is getting out hand and you read about this cool microservice infrastructure thing. You may have done something similar, but are not quite sure whether to take the plunge or not.
Why Enterprises Are Embracing the CloudRandy Shoup
After being deeply involved in public cloud for the last several years, as both a provider and a consumer, I have been very pleasantly surprised at the rate at which large enterprises are rapidly moving to the cloud. For all the right reasons, even the most regulated and risk-averse of industries -- banking, for example -- are rapidly moving workloads out of their own owned data centers. Public cloud is not just for the "unicorns", but for the "horses" as well. This short vignette, presented at the GOTO Aarhus 2014 conference, tries to explain why this trend will continue and accelerate, and why we should be excited about it.
This document discusses optimizing Java performance under high load conditions. It recommends measuring performance before and after changes rather than guessing. Some techniques discussed include caching data to reduce I/O, minimizing database operations, reducing memory allocations and garbage collection, and optimizing iteratively by measuring the impact of each change. The key ideas are to identify bottlenecks by measuring performance, consider ways to reduce unnecessary operations like I/O, and make optimizations in iterative cycles of measuring the impact of each change.
Yaroslav Ravlinko "Build your own Machine Learning Platform or how to develo...Lviv Startup Club
This document provides an overview of building your own machine learning platform. It discusses typical machine learning workflows and ecosystems, challenges such as diverse technologies and reproducible environments, and potential solutions like the Hadoop, Mesos, and Kubernetes ecosystems. It assesses criteria like cost and production needs. Finally, it provides examples of platforms and demos a recommender system implementation using tools like Spark, HDFS, HBase, and Python/Scala within a delivery pipeline.
ClojureScript: I can't believe this is JavaScriptEric Normand
There are 6 difficult problems frameworks and libraries try to solve in JavaScript, but never quite get there. Learn how these problems (and more!) are solved by ClojureScript and how it can provide a platform for new solutions.
The document summarizes an Entity Framework session that covers topics like eager vs lazy loading, asynchronous queries and saves, optimistic concurrency, and best practices. The agenda includes loading related objects, non-blocking data access, handling concurrency issues, and techniques like avoiding singletons, updating versions, using stored procedures for complex queries, and caching expensive results. General recommendations are to limit result sets, embrace asynchronous patterns, and use fast serializers.
Our presentation on Israel Rails Conference 2012. Vitaly talking about rails performance, how to measure, what to improve and just as much important - what not to improve
The document discusses using the EmberJS framework to build JavaScript apps for Force.com instead of Visualforce. EmberJS offers advantages like Handlebars templates that update automatically, scaffolding to reduce development time, friendly APIs, routing, and being open source. It compares how Visualforce works by rendering pages on the server with HTML, JavaScript, and Java while Ember apps work client-side with routing, data binding, and templating. The document also provides examples of how to integrate Ember apps with Force.com using Visualforce, JavaScript remoting, action functions, and Apex.
This document discusses workflows for JavaScript and CSS development in OutSystems. It notes that JavaScript and CSS changes often require many small tweaks, and publishing/republishing takes extra time. It recommends using browser debugging tools like the Styles, Computed, Console, and Sources tabs to understand CSS and JavaScript behavior without needing to republish. Additionally, it cautions developers to be aware of JavaScript and CSS loading order, avoid duplicating files, and keep common code in shared locations.
Why Enterprises Are Embracing the CloudRandy Shoup
After being deeply involved in public cloud for the last several years, as both a provider and a consumer, I have been very pleasantly surprised at the rate at which large enterprises are rapidly moving to the cloud. For all the right reasons, even the most regulated and risk-averse of industries -- banking, for example -- are rapidly moving workloads out of their own owned data centers. Public cloud is not just for the "unicorns", but for the "horses" as well. This short vignette, presented at the GOTO Aarhus 2014 conference, tries to explain why this trend will continue and accelerate, and why we should be excited about it.
This document discusses optimizing Java performance under high load conditions. It recommends measuring performance before and after changes rather than guessing. Some techniques discussed include caching data to reduce I/O, minimizing database operations, reducing memory allocations and garbage collection, and optimizing iteratively by measuring the impact of each change. The key ideas are to identify bottlenecks by measuring performance, consider ways to reduce unnecessary operations like I/O, and make optimizations in iterative cycles of measuring the impact of each change.
Yaroslav Ravlinko "Build your own Machine Learning Platform or how to develo...Lviv Startup Club
This document provides an overview of building your own machine learning platform. It discusses typical machine learning workflows and ecosystems, challenges such as diverse technologies and reproducible environments, and potential solutions like the Hadoop, Mesos, and Kubernetes ecosystems. It assesses criteria like cost and production needs. Finally, it provides examples of platforms and demos a recommender system implementation using tools like Spark, HDFS, HBase, and Python/Scala within a delivery pipeline.
ClojureScript: I can't believe this is JavaScriptEric Normand
There are 6 difficult problems frameworks and libraries try to solve in JavaScript, but never quite get there. Learn how these problems (and more!) are solved by ClojureScript and how it can provide a platform for new solutions.
The document summarizes an Entity Framework session that covers topics like eager vs lazy loading, asynchronous queries and saves, optimistic concurrency, and best practices. The agenda includes loading related objects, non-blocking data access, handling concurrency issues, and techniques like avoiding singletons, updating versions, using stored procedures for complex queries, and caching expensive results. General recommendations are to limit result sets, embrace asynchronous patterns, and use fast serializers.
Our presentation on Israel Rails Conference 2012. Vitaly talking about rails performance, how to measure, what to improve and just as much important - what not to improve
The document discusses using the EmberJS framework to build JavaScript apps for Force.com instead of Visualforce. EmberJS offers advantages like Handlebars templates that update automatically, scaffolding to reduce development time, friendly APIs, routing, and being open source. It compares how Visualforce works by rendering pages on the server with HTML, JavaScript, and Java while Ember apps work client-side with routing, data binding, and templating. The document also provides examples of how to integrate Ember apps with Force.com using Visualforce, JavaScript remoting, action functions, and Apex.
This document discusses workflows for JavaScript and CSS development in OutSystems. It notes that JavaScript and CSS changes often require many small tweaks, and publishing/republishing takes extra time. It recommends using browser debugging tools like the Styles, Computed, Console, and Sources tabs to understand CSS and JavaScript behavior without needing to republish. Additionally, it cautions developers to be aware of JavaScript and CSS loading order, avoid duplicating files, and keep common code in shared locations.
Everything you always wondered about caching in OutSystems, all wrapped up in one informative session. How does caching work? How does it impact performance and invalidation? What determines whether caching is even used? All of these questions and more will be answered. Don’t be late!
Excella Consultings's Doguhan Uluca discusses delivering a responsive and modern Web client based on emerging technologies in an MVVM architecture, such as Breeze, Knockout, Require with Javascript unit testing and Automated Acceptance Testing.
Creating Hyper Performant Web Apps with ReactJp DeVries
The document discusses creating high performing web apps with React. It emphasizes reliability over speed, noting that reliability means the experience works under different circumstances like without JavaScript. It lists challenges to reliability like poor networks or outdated browsers. It recommends using HTML, CSS, and JavaScript responsibly, using HTML for initial content delivery and JavaScript for interactivity. Server-side rendering with Node.js is suggested to deliver meaningful initial HTML with React components for both reliability and SEO. Caching techniques like versioning assets are also recommended to improve performance.
Danielle Platt worked as a trainee computer scientist at Royal Surrey County Hospital from September 2015 to September 2016. She developed the front end of an optimal mammography database using HTML5, CSS3, Bootstrap, and JavaScript. She also worked on an asset management application, developing both the front end and back end using PHP, MySQL, JavaScript, JQuery, HTML, CSS, and Bootstrap. Additionally, she created a server management dashboard with front end and back end elements using PHP, MySQL, Perl, HTML, CSS, Bootstrap, Jquery, and JavaScript.
Best Practices for Web Infrastructure on Amazon Web ServicesBrett Gillett
This document outlines best practices for web infrastructure on Amazon Web Services (AWS). It discusses challenges companies face with web infrastructure, and how AWS services can help address those challenges. The document recommends starting with security, using the smallest instances needed and scaling horizontally, leveraging platform-as-a-service where possible, and using reserved instances when appropriate. It also covers lessons learned, such as understanding costs, managing reserved instances, keeping up with innovation, and monitoring for "drift" in AWS infrastructure over time. Finally, it describes services available through Softchoice to help customers get started with and manage their AWS infrastructure.
This document outlines programming pillars and advice for programmers. It discusses accepting that all work builds on others, planning ahead instead of limiting options, documenting code to reduce questions and automating tasks. Programmers are advised to use their own creations, share code openly and help others in order to improve skills and gain recognition. The key pillars are to plan for the future, reduce workload through documentation and automation, use your own solutions, and showcase your work.
Building a modern data platform with scala, akka, apache beamRaymond Tay
Gave a talk on at the Scala Meetup on 20 September 2018 on the subject of building a modern data platform with Scala, Akka, Apache Beam.
List of references are as follows:
- Dataflow/Apache Beam (streamingsystems.org/Slides/Eugene Kirpichov - STREAM 2016 Dataflow and Apache Beam.pdf)
- The Dataflow Model (https://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf)
- MillWheel (https://ai.google/research/pubs/pub41378)
- FlumeJava (https://ai.google/research/pubs/pub35650)
- Why Curiosity Matters (https://hbr.org/2018/09/curiosity)
- Spotify Scio (https://github.com/spotify/scio)
- Typelevel Cats (typelevel.org/cats)
- Verizon Quiver (https://github.com/Verizon/quiver)
- Streaming 101 (https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-101)
- Streaming 102 (https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-102)
- Beam vs Spark (https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison)
- Hierarchical scheduling in diverse data center workloads (https://people.eecs.berkeley.edu/~alig/papers/h-drf.pdf)
- Beam comparison (https://github.com/dataArtisans/beam_comp)
- Dataflow Pipeline Execution Parameters (https://cloud.google.com/dataflow/pipelines/specifying-exec-params#setting-other-local-pipeline-options)
Slow online services can cause customers to abandon purchases and transactions, hurting business revenue. Maintaining sufficient server capacity through auto-scaling is key to ensuring high-performing online services. The Elastisys Cloud Platform uses predictive analytics to automatically scale server capacity up or down based on current and predicted user demand, keeping services responsive without over-provisioning resources. It provides fault-tolerance, auto-scaling, automatic provisioning, and is compatible with multiple cloud platforms.
The recently-released OutSystems' Data Grid component provides a rich way of displaying tabular data, with more functionality and flexibility than a standard Table Records widget. In this session, you'll see the Data Grid component in action, and learn how to use it for a variety of common scenarios.
The document discusses visual analysis using Google Cloud Platform. It provides an overview of Google Cloud services including App Engine, Container Engine, Compute Engine, Datastore, Cloud SQL, and Spanner for building and deploying applications at scale. It also mentions Machine Learning services for tasks like natural language processing, image analysis, and translation. The presentation then demonstrates a photo sharing application built on these services and discusses ways to enhance it further using App Engine Flex, video processing, document parsing, BigQuery, and analytics. It concludes by inviting Python developers interested in visual analysis to discuss job opportunities.
Threefold integration: CMS, TMS, and CAT — UTIC 2016Jose Palomares
Dealing with a CMS as the source content repository can be quite cumbersome and challenging for a vendor, but the fact that it’s also an uncertain territory for customers creates a succulent business opportunity for those translation agents willing to invest and persevere in differentiating themselves through technology.
In this presentation, we will have a look at what it takes to build a workflow around your customer’s CMS and your existing tool ecosystem that (without breaking the bank) delivers the kind of efficiency and automation that, until recently, seemed only within the reach of the bigger players (and pockets) in our industry.
Full stack development using javascript what and why - ajay chandravadiyaajayrcgmail
This presentation is about my first encounter with world of fullstack development using html, css, javascript, jsp, servlet, struts, hibernate, hql, spring, sql, stored procs and lot of other pains and second encounter with fullstack development using html, css and javascript.
I hope you got the message ;)
Terrifying and fun both describe our head-on rapid transformation towards a microservice architecture. We will give you a live report from the trenches with our main choices, mistakes and takeaways concerning design principles, orchestration, ownership etc. SVT interactive is expanding rapidly which increases the complexity rapidly and increase the demands on modularisation. How do you at the same time keep a culture of freedom, experimentation and innovation.
Disassembling the Monolith: Taming Large Software Projects with Node.jsNicholas Young
Software "Monoliths" are no longer in fashion. Everybody is extracting portions of their applications as "micro-services", and yet, few presentations cover exactly how to handle this.
Presented here are a few useful techniques for building distributed systems with Node.js.
Dismantling the Monolith: Scaling with MicroservicesOKL Engineering
The document summarizes an internal tech talk on migrating from a monolithic architecture to microservices. It discusses:
1. The problems with monoliths including difficulty of change, testing, and scaling monoliths as complexity grows.
2. The microservices approach of developing applications as suites of small, independent services that communicate via APIs and can be developed and scaled independently.
3. An example of online retailer Gilt experiencing outages due to inability to scale their monolithic transaction processing module.
4. Recommendations for iteratively migrating to microservices by stopping monolith growth, rewriting features as services, using well-defined interfaces between loosely coupled services.
Talk about why monoliths are not supposed to be evil, how not to make them evil, how to know the right time for decoupling monolith into microservices.
Breaking the Monolith - Microservice Extraction at SoundCloudJan Kischkel
This document summarizes SoundCloud's journey from a monolithic Rails application to a microservices architecture. It describes SoundCloud's initial architecture using Rails and MySQL. As traffic grew, they scaled vertically by adding caching, workers, and database optimizations. They eventually extracted services like messages into independent Scala/Finagle services for improved scalability, deployability and maintenance. The summary discusses the risks of integrating new services and retiring old components, highlighting the need for load testing, rollback plans, and handling stale clients during the migration.
Breaking Down the Monolith - Peter Marton, RisingStackNodejsFoundation
The story of how we broke our Node.js monolith into 15+ services in just a couple of weeks. The talk will focus on what we have learnt during the journey and what technologies we use. This is the tale of how we did this rather than what microservices are in general.
Agenda:
1. monolith and microservices in nutshell
2. advantages of microservices from our view
- well focused service teams, happy customers
- fault tolerance
- distributed responsibility
- improving quality
3. disadvantages of microservices-based our experience
-growing complexity
-errors in transactions
-response time issue
4. how we did it
-service team principles
-co-operation between teams
-company architecture changes
-breaking down via proxy
-request signing
-circuit breaker
-event sourcing
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Teo Ruiz
The document discusses how jobandtalent transitioned from a monolithic architecture to a microservices architecture to support their growth of 10 million users per month. They were facing challenges from technical debt, team contention, and slowing development as a monolith. By breaking into independent microservices running on AWS, they were able to scale their platform, teams, and product more easily through horizontal scaling and continuous delivery. Key AWS features like API Gateway, auto scaling, and Redshift helped provide coordination, cost control, and data aggregation across the independent services.
My Monolith is Melting - PIPELINE CONF 2015Meri Williams
Bringing change to legacy systems and monolithic waterfall programs is daunting, but doable. In this session we’ll look at a real world example of how we undertook the technical, cultural and process challenges to move to continuous delivery in a big organisation. You’ll hear about the epic battles with the dreaded CAB (Change Approval Board), the fight to move architecture discussions from Word documents to the whiteboards, and the myriad smaller skirmishes along the path to delivering features to our users faster, safer & more measurably.
Everything you always wondered about caching in OutSystems, all wrapped up in one informative session. How does caching work? How does it impact performance and invalidation? What determines whether caching is even used? All of these questions and more will be answered. Don’t be late!
Excella Consultings's Doguhan Uluca discusses delivering a responsive and modern Web client based on emerging technologies in an MVVM architecture, such as Breeze, Knockout, Require with Javascript unit testing and Automated Acceptance Testing.
Creating Hyper Performant Web Apps with ReactJp DeVries
The document discusses creating high performing web apps with React. It emphasizes reliability over speed, noting that reliability means the experience works under different circumstances like without JavaScript. It lists challenges to reliability like poor networks or outdated browsers. It recommends using HTML, CSS, and JavaScript responsibly, using HTML for initial content delivery and JavaScript for interactivity. Server-side rendering with Node.js is suggested to deliver meaningful initial HTML with React components for both reliability and SEO. Caching techniques like versioning assets are also recommended to improve performance.
Danielle Platt worked as a trainee computer scientist at Royal Surrey County Hospital from September 2015 to September 2016. She developed the front end of an optimal mammography database using HTML5, CSS3, Bootstrap, and JavaScript. She also worked on an asset management application, developing both the front end and back end using PHP, MySQL, JavaScript, JQuery, HTML, CSS, and Bootstrap. Additionally, she created a server management dashboard with front end and back end elements using PHP, MySQL, Perl, HTML, CSS, Bootstrap, Jquery, and JavaScript.
Best Practices for Web Infrastructure on Amazon Web ServicesBrett Gillett
This document outlines best practices for web infrastructure on Amazon Web Services (AWS). It discusses challenges companies face with web infrastructure, and how AWS services can help address those challenges. The document recommends starting with security, using the smallest instances needed and scaling horizontally, leveraging platform-as-a-service where possible, and using reserved instances when appropriate. It also covers lessons learned, such as understanding costs, managing reserved instances, keeping up with innovation, and monitoring for "drift" in AWS infrastructure over time. Finally, it describes services available through Softchoice to help customers get started with and manage their AWS infrastructure.
This document outlines programming pillars and advice for programmers. It discusses accepting that all work builds on others, planning ahead instead of limiting options, documenting code to reduce questions and automating tasks. Programmers are advised to use their own creations, share code openly and help others in order to improve skills and gain recognition. The key pillars are to plan for the future, reduce workload through documentation and automation, use your own solutions, and showcase your work.
Building a modern data platform with scala, akka, apache beamRaymond Tay
Gave a talk on at the Scala Meetup on 20 September 2018 on the subject of building a modern data platform with Scala, Akka, Apache Beam.
List of references are as follows:
- Dataflow/Apache Beam (streamingsystems.org/Slides/Eugene Kirpichov - STREAM 2016 Dataflow and Apache Beam.pdf)
- The Dataflow Model (https://www.vldb.org/pvldb/vol8/p1792-Akidau.pdf)
- MillWheel (https://ai.google/research/pubs/pub41378)
- FlumeJava (https://ai.google/research/pubs/pub35650)
- Why Curiosity Matters (https://hbr.org/2018/09/curiosity)
- Spotify Scio (https://github.com/spotify/scio)
- Typelevel Cats (typelevel.org/cats)
- Verizon Quiver (https://github.com/Verizon/quiver)
- Streaming 101 (https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-101)
- Streaming 102 (https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-102)
- Beam vs Spark (https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison)
- Hierarchical scheduling in diverse data center workloads (https://people.eecs.berkeley.edu/~alig/papers/h-drf.pdf)
- Beam comparison (https://github.com/dataArtisans/beam_comp)
- Dataflow Pipeline Execution Parameters (https://cloud.google.com/dataflow/pipelines/specifying-exec-params#setting-other-local-pipeline-options)
Slow online services can cause customers to abandon purchases and transactions, hurting business revenue. Maintaining sufficient server capacity through auto-scaling is key to ensuring high-performing online services. The Elastisys Cloud Platform uses predictive analytics to automatically scale server capacity up or down based on current and predicted user demand, keeping services responsive without over-provisioning resources. It provides fault-tolerance, auto-scaling, automatic provisioning, and is compatible with multiple cloud platforms.
The recently-released OutSystems' Data Grid component provides a rich way of displaying tabular data, with more functionality and flexibility than a standard Table Records widget. In this session, you'll see the Data Grid component in action, and learn how to use it for a variety of common scenarios.
The document discusses visual analysis using Google Cloud Platform. It provides an overview of Google Cloud services including App Engine, Container Engine, Compute Engine, Datastore, Cloud SQL, and Spanner for building and deploying applications at scale. It also mentions Machine Learning services for tasks like natural language processing, image analysis, and translation. The presentation then demonstrates a photo sharing application built on these services and discusses ways to enhance it further using App Engine Flex, video processing, document parsing, BigQuery, and analytics. It concludes by inviting Python developers interested in visual analysis to discuss job opportunities.
Threefold integration: CMS, TMS, and CAT — UTIC 2016Jose Palomares
Dealing with a CMS as the source content repository can be quite cumbersome and challenging for a vendor, but the fact that it’s also an uncertain territory for customers creates a succulent business opportunity for those translation agents willing to invest and persevere in differentiating themselves through technology.
In this presentation, we will have a look at what it takes to build a workflow around your customer’s CMS and your existing tool ecosystem that (without breaking the bank) delivers the kind of efficiency and automation that, until recently, seemed only within the reach of the bigger players (and pockets) in our industry.
Full stack development using javascript what and why - ajay chandravadiyaajayrcgmail
This presentation is about my first encounter with world of fullstack development using html, css, javascript, jsp, servlet, struts, hibernate, hql, spring, sql, stored procs and lot of other pains and second encounter with fullstack development using html, css and javascript.
I hope you got the message ;)
Terrifying and fun both describe our head-on rapid transformation towards a microservice architecture. We will give you a live report from the trenches with our main choices, mistakes and takeaways concerning design principles, orchestration, ownership etc. SVT interactive is expanding rapidly which increases the complexity rapidly and increase the demands on modularisation. How do you at the same time keep a culture of freedom, experimentation and innovation.
Disassembling the Monolith: Taming Large Software Projects with Node.jsNicholas Young
Software "Monoliths" are no longer in fashion. Everybody is extracting portions of their applications as "micro-services", and yet, few presentations cover exactly how to handle this.
Presented here are a few useful techniques for building distributed systems with Node.js.
Dismantling the Monolith: Scaling with MicroservicesOKL Engineering
The document summarizes an internal tech talk on migrating from a monolithic architecture to microservices. It discusses:
1. The problems with monoliths including difficulty of change, testing, and scaling monoliths as complexity grows.
2. The microservices approach of developing applications as suites of small, independent services that communicate via APIs and can be developed and scaled independently.
3. An example of online retailer Gilt experiencing outages due to inability to scale their monolithic transaction processing module.
4. Recommendations for iteratively migrating to microservices by stopping monolith growth, rewriting features as services, using well-defined interfaces between loosely coupled services.
Talk about why monoliths are not supposed to be evil, how not to make them evil, how to know the right time for decoupling monolith into microservices.
Breaking the Monolith - Microservice Extraction at SoundCloudJan Kischkel
This document summarizes SoundCloud's journey from a monolithic Rails application to a microservices architecture. It describes SoundCloud's initial architecture using Rails and MySQL. As traffic grew, they scaled vertically by adding caching, workers, and database optimizations. They eventually extracted services like messages into independent Scala/Finagle services for improved scalability, deployability and maintenance. The summary discusses the risks of integrating new services and retiring old components, highlighting the need for load testing, rollback plans, and handling stale clients during the migration.
Breaking Down the Monolith - Peter Marton, RisingStackNodejsFoundation
The story of how we broke our Node.js monolith into 15+ services in just a couple of weeks. The talk will focus on what we have learnt during the journey and what technologies we use. This is the tale of how we did this rather than what microservices are in general.
Agenda:
1. monolith and microservices in nutshell
2. advantages of microservices from our view
- well focused service teams, happy customers
- fault tolerance
- distributed responsibility
- improving quality
3. disadvantages of microservices-based our experience
-growing complexity
-errors in transactions
-response time issue
4. how we did it
-service team principles
-co-operation between teams
-company architecture changes
-breaking down via proxy
-request signing
-circuit breaker
-event sourcing
Breaking the monolith at jobandtalent - AWS Summit Barcelona 2015Teo Ruiz
The document discusses how jobandtalent transitioned from a monolithic architecture to a microservices architecture to support their growth of 10 million users per month. They were facing challenges from technical debt, team contention, and slowing development as a monolith. By breaking into independent microservices running on AWS, they were able to scale their platform, teams, and product more easily through horizontal scaling and continuous delivery. Key AWS features like API Gateway, auto scaling, and Redshift helped provide coordination, cost control, and data aggregation across the independent services.
My Monolith is Melting - PIPELINE CONF 2015Meri Williams
Bringing change to legacy systems and monolithic waterfall programs is daunting, but doable. In this session we’ll look at a real world example of how we undertook the technical, cultural and process challenges to move to continuous delivery in a big organisation. You’ll hear about the epic battles with the dreaded CAB (Change Approval Board), the fight to move architecture discussions from Word documents to the whiteboards, and the myriad smaller skirmishes along the path to delivering features to our users faster, safer & more measurably.
Evolving toward Microservices - O’Reilly SACON KeynoteChristopher Grant
O’Reilly Software Architecture Conference Keynote 4/2016
Evolving toward Microservices
How HomeDepot.com made the switch
Video published at: https://www.oreilly.com/ideas/evolving-toward-microservices-how-home-depot-made-the-transition
The document summarizes HomeDepot.com's transition from a monolithic architecture to microservices. It discusses how in 2011, the monolith had grown large and difficult to manage, with long release cycles. The objective was to increase the rate of change and number of developers. Key steps included breaking the monolith into domain-driven services, adopting continuous integration, using APIs for communication, and implementing feature flags and traffic routing. This allowed independent development of 30 apps by 2015 compared to just 1 previously, with weekly instead of monthly deployments. The presentation provides guidance on patterns for microservice communication, deployment, data management, and avoiding common pitfalls.
DPM UK: Stealing Project Management Lessons from Artificial IntelligenceMeri Williams
This document discusses lessons that can be learned from artificial intelligence to improve project management. It covers three key topics: 1) autonomy and how enabling independent decision-making within a team towards a common goal leads to success, 2) how machines learn and how deliberate practice can help teams improve, and 3) the importance of re-creation and motivation through purpose, autonomy, mastery, and inclusion to help teams perform at their best. The key lessons are that autonomy, clear communication of goals, letting individuals define how goals are achieved, helping design work as deliberate practice, conducting regular retrospectives, and ensuring purpose, autonomy, mastery and inclusion will help teams succeed.
I-Tier: Breaking Up the Monolith @ Philly ETESean McCullough
Groupon recently completed a year-long project to migrate its U.S. web traffic from a monolithic Ruby on Rails application to a new multi-application stack with substantial results.
Groupon’s entire U.S. web frontend had been a single Rails codebase from its inception in 2008. The frontend codebase quickly grew large, which made it difficult to maintain and challenging to ship new
features. As a solution to this gigantic monolith, we decided to re-architect the frontend by splitting it into small, independent and more manageable pieces. At the center of this project, we rebuilt each
major section of the website as an independent application. We also rebuilt the infrastructure to make all the independent apps work together. Interaction Tier (I-Tier) was the result.
Learn about how Groupon achieved this great architecture migration and the business results it is driving.
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...PyData
The document discusses how Rise Science, a young company focused on sleep improvement and user enjoyment, embraced a monolithic architecture to allow their small teams to iterate quickly without breaking things. It outlines some of the obstacles they faced with separate data silos and tooling, and how centralizing their data in a single database and using Django as their framework helped break down silos and enabled self-serve analytics to improve their data culture and product development cycles.
Surviving as a Monolith in a Microservices World - by Blair Olynyk, HyperwalletHyperwallet
This document discusses how to succeed without adopting microservices when your application is currently a monolith. It recommends aligning your development teams and application architecture with your organization's structure to gain benefits similar to microservices. The organizational structure should be based on your domain model using domain-driven design. If your code is tangled, apply the "strangler pattern" to refactor it by wrapping the monolith in microservice facades over time. This approach helped Hyperwallet increase productivity by 34% without fully transitioning to microservices.
(PFC304) Effective Interprocess Communications in the Cloud: The Pros and Con...Amazon Web Services
- Netflix evolved from a monolithic architecture to a microservices architecture due to bottlenecks from organizational growth and diverse functionality in the monolithic stack.
- Microservices address these issues by decomposing applications into independently deployable services but introduce new challenges around service discovery, communication between services, and failure handling.
- Netflix developed best practices for microservices including service discovery with Eureka, load balancing with Ribbon, failure mitigation with Hystrix, and reactive inter-process communication with RxJava and tools like Ribbon and Hystrix.
From the Monolith to Microservices - CraftConf 2015Randy Shoup
Most large-scale web companies have evolved their system architecture from a monolithic application and monolithic database to a set of loosely coupled microservices. Using examples from Google, eBay, and other large-scale sites, this talk outlines the pros and cons of these different stages of evolution, and makes practical suggestions about when and how other organizations should consider migrating to microservices. It continues with some more advanced implications of a microservices architecture, including SLAs, cost-allocation, and vendor-customer relationships within the organization. It concludes by exploring a set of common service anti-patterns.
MicroserviceArchitecture in detail over Monolith.PLovababu
This document discusses microservices architecture as an alternative to monolithic architecture. It defines microservices as independently deployable services that communicate through lightweight mechanisms like HTTP APIs. The document outlines benefits of microservices like independent scalability, easier upgrades, and improved developer productivity. It also discusses prerequisites for microservices like rapid provisioning, monitoring, and continuous deployment. Examples of microservices frameworks and a demo application using Spring Boot are provided.
One of the most powerful trends in software today is building large systems out of composable microservices. Many large-scale web companies have migrated over time to this architecture – and for good reason. But, as with any powerful technique, microservices come with their own brand of tradeoffs, and it is important to be aware of them before deciding whether they are appropriate in any particular case. They are not for every scale of problem, for every stage of company, or for every team.
This session takes a pragmatic approach to microservices, and compares them to the alternatives at different stages of company evolution. Using examples both from Google and eBay as well as from smaller organizations, it makes practical suggestions about whether, when, and how an organization should consider adopting a microservices architecture. Assuming microservices are the appropriate choice, it outlines an experience-based, incremental approach to making a successful rearchitecture to microservices.
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.
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...Javier García Magna
Good technical practices you can follow with (micro)services but can be applied to almost anything: discovery (microphone/consul), security, resilience (polly), composition, ssecurity (jwt/oauth2)... And then an example with a CQRS application, and how docker can be used in Windows 2016. Lastly a brief summary of what Service Fabric is and its programming models.
Netflix has evolved to rely heavily on cloud infrastructure from AWS. It uses microservices across multiple availability zones to provide highly available and scalable streaming globally. Netflix has open sourced many of the tools it has developed to operate in the cloud under the NetflixOSS project. It continues to migrate more systems like billing, payments, and big data analytics to the cloud.
Microservices Design and Best Practices on AWSArif Amirani
Businesses are turning to microservices to help them enable their autonomous teams, letting them innovate and release solutions faster than ever before.
Implementing a microservices architecture has new challenges that need to be dealt with. Top amongst them is finding a platform to help manage a growing number of independently deployable services and use that platform efficiently.
This session will provide an overview of the benefits and challenges of microservices, and share best practices for architecting and deploying microservices on AWS. The session will look at different approaches you can take to run microservices applications at scale and explore how services like Amazon ECS, AWS Lambda ,etc.
Objectives:
1. Understand the fundamentals of the microservices architectural approach
2. Learn best practices for designing microservices on AWS
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Startupfest
You're building your startup and you know it will be big. You don't want to spend a lot of time on infrastructure, but you also don't want to be putting out fires after you get mentioned on Hacker News. In this session, we will give you real practical tips that you can take home with you on building an infrastructure that will scale quickly with minimal up front work on your part, using time tested techniques in infrastructure as code, SaaS, and Serverless, among other things.
This is my latest version of my client side performance presentations. This has been presented at TechEd NZ 2009 & to a couple of .NET user groups around NZ. This presentation focuses on the basics of client-side performance tuning.
Explain what is a CDN, its advantages, and how to exploit caching on the internet. I cover Akamai in specific, along practices around Cache Headers, Cookie less domains, Fingerprinting, etc.
This talk was delivered at GIDS Bangalore (Apr 2015).
This document provides practical strategies for improving front-end performance of websites. It discusses specific techniques like making fewer HTTP requests by combining files, leveraging browser caching with far-future expires headers, gzipping components, using CSS sprites, and deploying assets on a content delivery network. It also summarizes key rules from tools like YSlow and PageSpeed for optimizing front-end performance.
Concurrency at Scale: Evolution to Micro-ServicesRandy Shoup
Most large-scale web companies have evolved their system architecture from a monolithic application and monolithic database to a set of loosely coupled micro-services. Using examples from Google, eBay, and KIXEYE, this talk outlines the pros and cons of these different stages of evolution, and makes practical suggestions about when and how other organizations should consider migrating to micro-services. It concludes with some more advanced implications of a micro-services architecture, including SLAs, cost-allocation, and vendor-customer relationships within the organization.
Mtc learnings from isv & enterprise interactionGovind Kanshi
This is one of the dated presentation for which I keep getting requests for, please do reach out to me for status on various things as Azure keeps fixing/innovating whole of things every day.
There are bunch of other things I can help you on to ensure you can take advantage of Azure platform for oss, .net frameworks and databases.
Mtc learnings from isv & enterprise (dated - Dec -2014)Govind Kanshi
This is little dated deck for our learnings - I keep getting multiple requests for it. I have removed one slide for access permissions (RBAC -which are now available).
With popular poster children such as Netflix and Amazon, using microservices-based architectures seems to be the killer approach to twenty-first-century architecture. This session goes over the benefits, but more so the pitfalls, of using a microservices-based architecture. What impact does it have on your organization, your applications, and dealing with scale and failures, and how do you prevent your landscape from becoming an unmaintainable nightmare?
Expecto Performa! The Magic and Reality of Performance TuningAtlassian
In the enterprise there are rarely simple solutions to highly nuanced problems that satisfy all needs. Several customers might each ask "How do I make Jira/Confluence faster?" and each require a different answer. Using this example, this talk will pick apart the inputs, outputs, concerns, and realities of answering a short question with a long answer. We'll then discuss real-world examples from our own internal instances, to give you a taste of the process we've gone through to solve our own performance problems, and to show why there is no simple playbook; "it depends" on a lot! The key takeaways are:
* The importance of having a shared definition of performance
* The importance of having agreed-upon priorities, including what isn't important
* The importance of measuring (allthethings) and understanding them
* The thing you think is the problem might not be the problem, and vice versa.
* The real world and the ideal world tend to look nothing alike!
The document discusses 3 key ways that developing software for the cloud differs from traditional approaches:
1. Incremental delivery, with frequent small releases of new features rather than large periodic releases.
2. Increased automation, including automated testing and continuous integration/deployment pipelines to support more agile development and deployment.
3. Analytics of usage data to inform product decisions and ensure features are valuable to users. Developing with the cloud in mind requires rethinking processes to focus on agility, automation and data-driven insights.
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Amazon Web Services
This document summarizes Christian Beedgen's presentation on using AWS to build a scalable machine data analytics service. The presentation covers the architecture of Sumo Logic's service, which ingests machine-generated log data from customers in near real-time and performs analytics. It discusses how the service is built as loosely coupled microservices deployed across AWS with automation. Challenges of scaling such a distributed system are also addressed.
Slides from my talk at QCon New York on how Netflix increases resiliency through failure, covering the Chaos Monkey, Chaos Gorilla, Latency Monkey, and others from the Simian Army.
Using AWS To Build A Scalable Machine Data Analytics ServiceChristian Beedgen
Christian Beedgen presented on using AWS to build a scalable machine data analytics service. He discussed Sumo Logic's architecture which uses loosely coupled AWS components like S3, DynamoDB, and EC2 to ingest, index, analyze and query large volumes of machine log data in real-time. Deployment is automated using tools like Jenkins, and components are deployed across availability zones for high availability. The system scales horizontally by sharding data and queries by customer account.
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
In this series of 15-minute technical flash talks you will learn directly from Amazon CloudFront engineers and their best practices on debugging caching issues, measuring performance using Real User Monitoring (RUM), and stopping malicious viewers using CloudFront and AWS WAF.
From Monoliths to Services: Paying Your Technical DebtTechWell
This document discusses transitioning from monolithic applications to microservices and serverless architectures. It begins by defining technical debt and explaining how microservices can help pay it down incrementally. It then covers different architectural styles like monoliths and microservices. The rest of the document discusses moving to cloud infrastructure, breaking apart monolithic applications into independent services, communication between services, leveraging third-party services, and security considerations for microservices.
The Comprehensive Guide to Validating Audio-Visual Performances.pdfkalichargn70th171
Ensuring the optimal performance of your audio-visual (AV) equipment is crucial for delivering exceptional experiences. AV performance validation is a critical process that verifies the quality and functionality of your AV setup. Whether you're a content creator, a business conducting webinars, or a homeowner creating a home theater, validating your AV performance is essential.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
DevOps Consulting Company | Hire DevOps Servicesseospiralmantra
Spiral Mantra excels in providing comprehensive DevOps services, including Azure and AWS DevOps solutions. As a top DevOps consulting company, we offer controlled services, cloud DevOps, and expert consulting nationwide, including Houston and New York. Our skilled DevOps engineers ensure seamless integration and optimized operations for your business. Choose Spiral Mantra for superior DevOps services.
https://www.spiralmantra.com/devops/
Liberarsi dai framework con i Web Component.pptxMassimo Artizzu
In Italian
Presentazione sulle feature e l'utilizzo dei Web Component nell sviluppo di pagine e applicazioni web. Racconto delle ragioni storiche dell'avvento dei Web Component. Evidenziazione dei vantaggi e delle sfide poste, indicazione delle best practices, con particolare accento sulla possibilità di usare web component per facilitare la migrazione delle proprie applicazioni verso nuovi stack tecnologici.
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
🏎️Tech Transformation: DevOps Insights from the Experts 👩💻campbellclarkson
Connect with fellow Trailblazers, learn from industry experts Glenda Thomson (Salesforce, Principal Technical Architect) and Will Dinn (Judo Bank, Salesforce Development Lead), and discover how to harness DevOps tools with Salesforce.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Nashik's top web development company, Upturn India Technologies, crafts innovative digital solutions for your success. Partner with us and achieve your goals
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
React.js, a JavaScript library developed by Facebook, has gained immense popularity for building user interfaces, especially for single-page applications. Over the years, React has evolved and expanded its capabilities, becoming a preferred choice for mobile app development. This article will explore why React.js is an excellent choice for the Best Mobile App development company in Noida.
Visit Us For Information: https://www.linkedin.com/pulse/what-makes-reactjs-stand-out-mobile-app-development-rajesh-rai-pihvf/
21. Manage your service
explosion
• If possible use REST JSON
• Don’t create a service per idea
• Infrastructure
• Monitoring
• Client gems/libraries
• Have configuration conventions