While microservices are hype, there are reasons to migrate to such an architecture. Also, benefits are to be evaluated in comparison to requirements. Are you ready to take a fresh look?
Current tech marketing aims at making you fall in love with microservices. But do you know their benefits and their requirements? What about their feasibility?
Il BILANCIO di UN ALBERGO in FORMULE - 2 EQUAZIONI dell'UTILE di UNA CAMERA DOPPIA - UTILE MAXIMO - PRIMO METODO - CALCOLI e GRAFICI PASSO PASSO - COSTI FISSI - COSTI VARIABILI - CALCOLO del BEP
An Introduction to Petroleum & Mineral Resources of AfghanistanIPPAI
This document provides an overview of the petroleum and mineral resources of Afghanistan. It describes 5 major hydrocarbon basins in the country and notes their estimated oil and gas potential. It also outlines Afghanistan's significant mineral deposits, including iron, copper, gold, coal, lithium and rare earth elements. Challenges to developing the mining and petroleum sectors are discussed. Several current and planned energy and mining projects in Afghanistan are also summarized.
Mensaje de los profesores de la Universidad de Carabobo para que asistan a la asamblea de fecha 28/03/2017 en el salón Centenario del Colegio de Abogados a partir de las 3pm.
Small Business Administration (SBA) Financing OptionsGuy-Daniel Boni
SBA financing is designed to provide small businesses with access to credit structures and terms that may be more flexible than conventional lending options. Blitt Capital is here to help Entrepreneurs match their financing needs with the appropriate SBA lending program.
Current tech marketing aims at making you fall in love with microservices. But do you know their benefits and their requirements? What about their feasibility?
Il BILANCIO di UN ALBERGO in FORMULE - 2 EQUAZIONI dell'UTILE di UNA CAMERA DOPPIA - UTILE MAXIMO - PRIMO METODO - CALCOLI e GRAFICI PASSO PASSO - COSTI FISSI - COSTI VARIABILI - CALCOLO del BEP
An Introduction to Petroleum & Mineral Resources of AfghanistanIPPAI
This document provides an overview of the petroleum and mineral resources of Afghanistan. It describes 5 major hydrocarbon basins in the country and notes their estimated oil and gas potential. It also outlines Afghanistan's significant mineral deposits, including iron, copper, gold, coal, lithium and rare earth elements. Challenges to developing the mining and petroleum sectors are discussed. Several current and planned energy and mining projects in Afghanistan are also summarized.
Mensaje de los profesores de la Universidad de Carabobo para que asistan a la asamblea de fecha 28/03/2017 en el salón Centenario del Colegio de Abogados a partir de las 3pm.
Small Business Administration (SBA) Financing OptionsGuy-Daniel Boni
SBA financing is designed to provide small businesses with access to credit structures and terms that may be more flexible than conventional lending options. Blitt Capital is here to help Entrepreneurs match their financing needs with the appropriate SBA lending program.
The slides for the Rapid Cross-channel Prototyping Workshop I facilitated at the ASIS&T Information Architecture Summit in Vancouver, BC, March 23 2017
In 2013 and 2014 marketers began adoption and testing of the practice. The hype surrounding the market was near deafening but a lot of fun. During 2015 and 2016 we saw ABM practitioners beginning to craft and adopt best practices. What’s around the corner for ABM?!
!
During Q4 2017 Demand Metric connected The Account-Based Marketing Consortium and five C-Level executives in a live discussion. These experts from around the world applied their combined experience to explore what the next stage of ABM will look like. This report will identify and discuss the positions of these ABM experts and will share answers to the following key questions:!
!
• What are the areas of focus in 2017?
• Where should practitioners place their investments?
• What mistakes of the past can we learn from?
• And, what successes should we seek to scale?
True Copy of MATT. APPL. NO. 7 of 2012 before HIGH COURT of DELHIOm Prakash Poddar
True Copy of MATT. APPL. NO. 7 of 2012 before High Court of Delhi. (DECIDED ON 23.07.2013)
Cases moved even after withdrawal of Legal Aid by the Delhi High Court Legal Service Committee (DHCLSC) in a critical situation when the appellant was out of Delhi.
Hon’ble Justice Sanjay Kishan Kaul passed an order dated 06.11.2012,
“……LEARNED COUNSEL APPEARING STATES THAT THE LEGAL AID TO THE APPELLANT HAS BEEN WITHDRAWN IN VIEW OF UNDESIRABLE CONDUCT OF THE APPELLANT…. NONE HAS APPEARED FOR THE APPELLANT AS IT APPEARS THAT THE APPELLANT HAS NOT MADE ALTERNATIVE ARRANGEMENT. ADVERSE ORDERS ARE DEFERRED ……ISSUE NOTICE TO THE APPELLANT UNLESS HE MAKES NECESSARY ARRANGEMENT, THE APPEAL MAY BE DISMISSED FOR NON-PROSECUTION ON THE NEXT DATE”.
The document outlines a design strategy for Pepsi called "BREATHTAKING" that draws inspiration from Pepsi's branding history and universal design principles to create a new identity. It explores how investigating a brand's roots can help propel it forward. The strategy aims to shift Pepsi from a conventional to innovative brand by developing an iconic shape based on geometric patterns found in past packaging. Circles placed in a specific proportional relationship are used to derive the new Pepsi identity and logo. Color palettes and dimensional effects are also discussed to enhance the multi-dimensional brand experience.
Medicina a distanza nelle sindromi neuro degenerative aspetti clinici e quali...Gabriele Carbone
La medicina a distanza nelle gestione (presa in carico) dei pazienti con patologie neurodegenerative ha applicazioni per essere una risorsa promettente, appropriata e preziosa per gestire “a distanza” molti dei bisogni (del paziente, del carer e delle “badanti”) se tiene conto delle specifiche esigenze e risorse del paziente, lo supporta nell’ambiente che lo circonda, e non si sostituisce ma si affianca all’intervento umano;
di supporto e integrazione nei vari ambiti in cui il malato si trova a vivere o ad essere curato (proprio domicilio, Centri Diurni, strutture di ricovero riabilitative, ospedale o RSA).
Tuttavia non ha ancora trovato indicazioni definitive, rigorosamente fondate su studi clinici randomizzati controllati.
Le evidenze di letteratura, sebbene ancora metodologicamente poco robuste, ci sono, sono incoraggianti e aprono il campo a un vasto territorio di ricerca, di cui c’è un grande bisogno.
Good Gaming Investor Presentation Spring 2017Vik Grover, CFA
Good Gaming presents their investor presentation which discusses their eSports tournament platform and social networking site for gamers. They provide an overview of their management team, advisory board, and vision to become the leading platform for amateur gamers to hone their skills. Good Gaming also reviews the growing eSports industry and their positioning in the market with their scalable tournament platform and virtual goods marketplace.
Mesa redonda Barcelona Activa - No te conviertas en un profesional obsoleto ...Cèlia Hil
Presentación utilizada por Isabel González, Alicia Pomares, Jaume Gurt y Celia Hil para la Mesa Redonda "No te conviertas en un profesional obsoleto" en Barcelona Activa - Ajuntament de Barcelona
The document discusses Orange's progress towards implementing SDN and NFV technologies across its network. It describes Orange deploying SDN/NFV-enabled network points of presence (PoPs) in 75 countries to allow for dynamic services. A prototype virtual path computation element (vPCE) has been deployed for path computation. Orange is also conducting trials of a universal customer premises equipment (uCPE) with virtualized functions. SDN is being applied to the IP/MPLS network for path optimization and network services like bandwidth on demand. Orange aims to fully transform its network through multi-domain orchestration using SDN and NFV.
Uxdevsummit - Microservices the modern it stack- trends of tomorrowJonah Kowall
Current trends in software development such as Microservices, Containers, and Orchestration. Look into the future of IoT, AR/VR, and voice interfaces as well.
The document discusses various "cloud anti-patterns" or common mistakes made when developing cloud-native applications and microservices. Some of the anti-patterns covered include ignoring cloud-native platforms, focusing too much on risk mitigation over innovation, creating monolithic microservices, prematurely decomposing services, failing to implement proper APIs, service discovery, and fault tolerance, trying to rewrite entire monolithic applications at once instead of gradually, failing to implement proper logging and tracing across services, and having siloed search capabilities. The presentation emphasizes the importance of using cloud-native platforms, gradual refactoring, clear APIs, service discovery, fault tolerance patterns, logging, tracing, test automation, and unified search.
The document discusses various "cloud anti-patterns" or common mistakes made when developing cloud-native applications and microservices. It identifies 9 anti-patterns: 1) ignoring cloud platforms like Cloud Foundry, 2) prioritizing risk mitigation over innovation, 3) creating monolithic microservices, 4) prematurely decomposing services, 5) ignoring APIs, service discovery, and fault tolerance, 6) trying to rewrite entire monoliths at once, 7) not having proper logging and tracing for microservices, 8) not using continuous integration/delivery pipelines, and 9) having siloed search capabilities. The document provides explanations and recommendations for addressing each anti-pattern.
This deck is about Microservices Architecture and why do we need it, architecture patterns which need to be followed during Microservices development, and about few tricky questions like API Versioning and
Decomposition Recipes
Moving from a monolithic based architecture to a more microservices architecture can be fraught with challenges. This talk covers some of these challenges and some common myths associated with trying to strangle the Monolith. We will also talk a bit about the open source project Habitat (habitat.sh), and how it can help you move towards microservices.
The document discusses the development of a crowd economy platform called Crowdcore using cloud computing and the MEAN stack. It describes how MEAN (MongoDB, Express, AngularJS, Node.js) provided scalability and flexibility. Modules were developed independently and integrated using AngularJS directives. The infrastructure was designed to be cloud-native for easy scaling and deployment. Key lessons learned were that the technology supports crowd economy models, MEAN is highly scalable and flexible, and cloud-native applications can manage cloud infrastructures.
Dublin Microservice "Introduction to Service Meshes"Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they are (and sometimes are not) well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus.
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreENTER S.r.l.
Infrastrutture elastiche e piattaforme per lo sviluppo agile, sono questi i nuovi strumenti per realizzare siti e applicazioni nell’era del digital business.
Enter Cloud Suite, servizio cloud europeo basato su OpenStack, permette di creare batterie di server in pochi secondi, scalarli, replicarli o eliminarli quando non servono più.
M.E.A.N. (MongoDB, Express, AngularJS, Nod.js) è un stack open source emergente basato completamente su JavaScript.
Dal connubio tra le due tecnologie nasce Crowdcore, il nuovo framework per verticalizzare piattaforme di crowd economy.
Nowadays Microservices is perceived as the bulletproof software architecture choice. Monolithic applications are considered old fashioned. Isn’t there a sweet spot? What really makes us migrate from Monoliths to Microservices?
A introduction to Microservices Architecture: definition, characterstics, framworks, success stories. It contains a demo about implementation of microservices with Spring Boot, Spring cloud an Eureka.
The slides for the Rapid Cross-channel Prototyping Workshop I facilitated at the ASIS&T Information Architecture Summit in Vancouver, BC, March 23 2017
In 2013 and 2014 marketers began adoption and testing of the practice. The hype surrounding the market was near deafening but a lot of fun. During 2015 and 2016 we saw ABM practitioners beginning to craft and adopt best practices. What’s around the corner for ABM?!
!
During Q4 2017 Demand Metric connected The Account-Based Marketing Consortium and five C-Level executives in a live discussion. These experts from around the world applied their combined experience to explore what the next stage of ABM will look like. This report will identify and discuss the positions of these ABM experts and will share answers to the following key questions:!
!
• What are the areas of focus in 2017?
• Where should practitioners place their investments?
• What mistakes of the past can we learn from?
• And, what successes should we seek to scale?
True Copy of MATT. APPL. NO. 7 of 2012 before HIGH COURT of DELHIOm Prakash Poddar
True Copy of MATT. APPL. NO. 7 of 2012 before High Court of Delhi. (DECIDED ON 23.07.2013)
Cases moved even after withdrawal of Legal Aid by the Delhi High Court Legal Service Committee (DHCLSC) in a critical situation when the appellant was out of Delhi.
Hon’ble Justice Sanjay Kishan Kaul passed an order dated 06.11.2012,
“……LEARNED COUNSEL APPEARING STATES THAT THE LEGAL AID TO THE APPELLANT HAS BEEN WITHDRAWN IN VIEW OF UNDESIRABLE CONDUCT OF THE APPELLANT…. NONE HAS APPEARED FOR THE APPELLANT AS IT APPEARS THAT THE APPELLANT HAS NOT MADE ALTERNATIVE ARRANGEMENT. ADVERSE ORDERS ARE DEFERRED ……ISSUE NOTICE TO THE APPELLANT UNLESS HE MAKES NECESSARY ARRANGEMENT, THE APPEAL MAY BE DISMISSED FOR NON-PROSECUTION ON THE NEXT DATE”.
The document outlines a design strategy for Pepsi called "BREATHTAKING" that draws inspiration from Pepsi's branding history and universal design principles to create a new identity. It explores how investigating a brand's roots can help propel it forward. The strategy aims to shift Pepsi from a conventional to innovative brand by developing an iconic shape based on geometric patterns found in past packaging. Circles placed in a specific proportional relationship are used to derive the new Pepsi identity and logo. Color palettes and dimensional effects are also discussed to enhance the multi-dimensional brand experience.
Medicina a distanza nelle sindromi neuro degenerative aspetti clinici e quali...Gabriele Carbone
La medicina a distanza nelle gestione (presa in carico) dei pazienti con patologie neurodegenerative ha applicazioni per essere una risorsa promettente, appropriata e preziosa per gestire “a distanza” molti dei bisogni (del paziente, del carer e delle “badanti”) se tiene conto delle specifiche esigenze e risorse del paziente, lo supporta nell’ambiente che lo circonda, e non si sostituisce ma si affianca all’intervento umano;
di supporto e integrazione nei vari ambiti in cui il malato si trova a vivere o ad essere curato (proprio domicilio, Centri Diurni, strutture di ricovero riabilitative, ospedale o RSA).
Tuttavia non ha ancora trovato indicazioni definitive, rigorosamente fondate su studi clinici randomizzati controllati.
Le evidenze di letteratura, sebbene ancora metodologicamente poco robuste, ci sono, sono incoraggianti e aprono il campo a un vasto territorio di ricerca, di cui c’è un grande bisogno.
Good Gaming Investor Presentation Spring 2017Vik Grover, CFA
Good Gaming presents their investor presentation which discusses their eSports tournament platform and social networking site for gamers. They provide an overview of their management team, advisory board, and vision to become the leading platform for amateur gamers to hone their skills. Good Gaming also reviews the growing eSports industry and their positioning in the market with their scalable tournament platform and virtual goods marketplace.
Mesa redonda Barcelona Activa - No te conviertas en un profesional obsoleto ...Cèlia Hil
Presentación utilizada por Isabel González, Alicia Pomares, Jaume Gurt y Celia Hil para la Mesa Redonda "No te conviertas en un profesional obsoleto" en Barcelona Activa - Ajuntament de Barcelona
The document discusses Orange's progress towards implementing SDN and NFV technologies across its network. It describes Orange deploying SDN/NFV-enabled network points of presence (PoPs) in 75 countries to allow for dynamic services. A prototype virtual path computation element (vPCE) has been deployed for path computation. Orange is also conducting trials of a universal customer premises equipment (uCPE) with virtualized functions. SDN is being applied to the IP/MPLS network for path optimization and network services like bandwidth on demand. Orange aims to fully transform its network through multi-domain orchestration using SDN and NFV.
Uxdevsummit - Microservices the modern it stack- trends of tomorrowJonah Kowall
Current trends in software development such as Microservices, Containers, and Orchestration. Look into the future of IoT, AR/VR, and voice interfaces as well.
The document discusses various "cloud anti-patterns" or common mistakes made when developing cloud-native applications and microservices. Some of the anti-patterns covered include ignoring cloud-native platforms, focusing too much on risk mitigation over innovation, creating monolithic microservices, prematurely decomposing services, failing to implement proper APIs, service discovery, and fault tolerance, trying to rewrite entire monolithic applications at once instead of gradually, failing to implement proper logging and tracing across services, and having siloed search capabilities. The presentation emphasizes the importance of using cloud-native platforms, gradual refactoring, clear APIs, service discovery, fault tolerance patterns, logging, tracing, test automation, and unified search.
The document discusses various "cloud anti-patterns" or common mistakes made when developing cloud-native applications and microservices. It identifies 9 anti-patterns: 1) ignoring cloud platforms like Cloud Foundry, 2) prioritizing risk mitigation over innovation, 3) creating monolithic microservices, 4) prematurely decomposing services, 5) ignoring APIs, service discovery, and fault tolerance, 6) trying to rewrite entire monoliths at once, 7) not having proper logging and tracing for microservices, 8) not using continuous integration/delivery pipelines, and 9) having siloed search capabilities. The document provides explanations and recommendations for addressing each anti-pattern.
This deck is about Microservices Architecture and why do we need it, architecture patterns which need to be followed during Microservices development, and about few tricky questions like API Versioning and
Decomposition Recipes
Moving from a monolithic based architecture to a more microservices architecture can be fraught with challenges. This talk covers some of these challenges and some common myths associated with trying to strangle the Monolith. We will also talk a bit about the open source project Habitat (habitat.sh), and how it can help you move towards microservices.
The document discusses the development of a crowd economy platform called Crowdcore using cloud computing and the MEAN stack. It describes how MEAN (MongoDB, Express, AngularJS, Node.js) provided scalability and flexibility. Modules were developed independently and integrated using AngularJS directives. The infrastructure was designed to be cloud-native for easy scaling and deployment. Key lessons learned were that the technology supports crowd economy models, MEAN is highly scalable and flexible, and cloud-native applications can manage cloud infrastructures.
Dublin Microservice "Introduction to Service Meshes"Daniel Bryant
While service meshes may be the next "big thing" in microservices, the concept isn't new. Classical SOA attempted to implement similar technology for abstracting and managing all aspects of service-to-service communication, and this was often realized as the much-maligned Enterprise Service Bus (ESB). Several years ago similar technology emerged from the microservice innovators, including Airbnb (SmartStack for service discovery), Netflix (Prana integration sidecars), and Twitter (Finagle for extensible RPC), and these technologies have now converged into the service meshes we are currently seeing being deployed.
In this talk, Daniel Bryant will share with you what service meshes are, why they are (and sometimes are not) well-suited for microservice deployments, and how best to use a service mesh when you're deploying microservices. This presentation begins with a brief history of the development of service meshes, and the motivations of the unicorn organisations that developed them. From there, you'll learn about some of the currently available implementations that are targeting microservice deployments, such as Istio/Envoy, Linkerd, and NGINX Plus.
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreENTER S.r.l.
Infrastrutture elastiche e piattaforme per lo sviluppo agile, sono questi i nuovi strumenti per realizzare siti e applicazioni nell’era del digital business.
Enter Cloud Suite, servizio cloud europeo basato su OpenStack, permette di creare batterie di server in pochi secondi, scalarli, replicarli o eliminarli quando non servono più.
M.E.A.N. (MongoDB, Express, AngularJS, Nod.js) è un stack open source emergente basato completamente su JavaScript.
Dal connubio tra le due tecnologie nasce Crowdcore, il nuovo framework per verticalizzare piattaforme di crowd economy.
Nowadays Microservices is perceived as the bulletproof software architecture choice. Monolithic applications are considered old fashioned. Isn’t there a sweet spot? What really makes us migrate from Monoliths to Microservices?
A introduction to Microservices Architecture: definition, characterstics, framworks, success stories. It contains a demo about implementation of microservices with Spring Boot, Spring cloud an Eureka.
Building Internal Products Customer Love - Product Management FestivalMostafa Nageeb
This document discusses how to build internal products that customers love. It recommends knowing customers, listening to their needs, solving what matters most, treating support and documentation as products, communicating well, and measuring outcomes to reinforce success. Central themes are focusing on customer experience, continuous improvement based on feedback, and using metrics to guide priorities.
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"Daniel Bryant
The document discusses using Telepresence to improve the development workflow for Java microservices running on Kubernetes. Telepresence allows developers to run their code locally while still connecting to the Kubernetes cluster, improving the speed of the inner development loop. It supports various workflows from small to large systems. The benefits of Telepresence include using local tools, connecting to cloud resources, and a very fast inner loop. It is an open source project maintained by the CNCF.
deliver:Agile 2018 "Continuous Delivery Patterns for Modern Architectures"Daniel Bryant
Modern software has almost completed its evolution toward component-based architectures—seen in the mainstream embrace of self-contained systems (SCS), microservices, and serverless architecture. We all know the benefits of component-based architectures, but there are also many challenges to delivering such applications in a continuous, safe, and rapid fashion. Daniel Bryant shares a series of patterns to help you identify and implement solutions for continuous delivery of contemporary service-based architectures.
Learning Outcomes:
- Identify core stages in the component delivery lifecycle: Develop, test, deploy, operate, and observe
- How contemporary architectures impact continuous delivery and how to ensure that this is factored into the design
- Modifying the build pipeline to support testability and deployability of components (with a hat tip to Jez Humble’s and Dave Farley’s seminal work)
- Commonality between delivery of SCS, microservices, and serverless components
- Continuous delivery, service contracts, and end-to-end validation: The good, the bad, and the ugly
- Validating NFRs within a service pipeline
- Lessons learned in the trenches
GOTO Berlin - Battle of the Circuit Breakers: Resilience4J vs IstioNicolas Fränkel
Kubernetes in general, and Istio in particular, have changed a lot the way we look at Ops-related constraints: monitoring, load-balancing, health checks, etc. Before those products became available, there were already available solutions to handle those constraints.
Among them is Resilience4J, a Java library. From the site: "Resilience4j is a fault tolerance library designed for Java8 and functional programming." In particular, Resilience4J provides an implementation of the Circuit Breaker pattern, which prevents a network or service failure from cascading to other services. But now Istio also provides the same capability.
In this talk, we will have a look at how Istio and Resilience4J implement the Circuit Breaker pattern, and what pros/cons each of them has.
After this talk, you’ll be able to decide which one is the best fit in your context.
Kubernetes in general, and Istio in particular, have changed a lot the way we look at Ops-related constraints: monitoring, load-balancing, health checks, etc. Before those products became available, there were already available solutions to handle those constraints. Among them are different libraries e.g. Hystrix and Resilience4J in the Java ecosystem. In particular, they both provide an implementation of the Circuit Breaker pattern, which prevents a network or service failure from cascading to other services. But now Istio also provides the same capability. In this talk, we will have a look at how Istio and one among Hystrix/Resilience4J implement the Circuit Breaker pattern, and what pros/cons each of them has. Bonus, you’ll be able to choose what library we will focus for the demo. After this talk, you’ll be able to decide which one is the best fit in your context.
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...Daniel Bryant
Many Java-based organizations adopt cloud native development practices with the goal of shipping features faster. The technologies and architectures may change when we move to the cloud, but the fact remains that we all still add the occasional bug to our code. The challenge here is that many of your existing local debugging tools and practices can't be used when everything is running in a container or deployed onto Kubernetes running in the cloud. This is where the open source Telepresence tool can help.
Join me to learn about:
- The challenges with scaling Kubernetes-based Java development i.e. you can only run so many microservices locally before minikube melts your laptop
- An exploration of how Telepresence can "intercept" or reroute traffic from a specified service in a remote K8s cluster to your local dev machine
- The benefits of getting a "hot reload" fast feedback loop between applications being developed locally and apps running in the remote environment
- A tour of Telepresence, from the sidecar proxy deployed into the remote K8s cluster to the CLI
- An overview of using "preview URLs" and header-based routing for the sharing, collaboration, and isolation of changes you are making on your local copy of an intercepted service
Kubernetes Online Meetup - Battle of the Circuit BreakersNicolas Fränkel
There are two ways to implement the circuit breaker pattern: white-box à la Hystrix or black-box à la Istio. Both have pros and cons. Come to this talk to hear more about that!
Kubernetes in general, and Istio in particular, have changed a lot the way we look at Ops-related constraints: monitoring, load-balancing, health checks, etc. Before those products became available, there were already available solutions to handle those constraints.
Among them is Hystrix, a Java library provided by Netflix. From the site: “Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.” In particular, Hystrix provides an implementation of the Circuit Breaker pattern, which prevents a network or service failure from cascading to other services. But now Istio also provides the same capability.
In this talk, we will have a look at how Istio and Hystrix implement the Circuit Breaker pattern, and what pros/cons each of them has.
After this talk, you’ll be able to decide which one is the best fit in your context.
There are two ways to implement the circuit breaker pattern: white-box à la Hystrix/Resilience4J or black-box à la Istio. Both have pros and cons. Come to this talk to hear more about that!
Kubernetes in general, and Istio in particular, have changed a lot the way we look at Ops-related constraints: monitoring, load-balancing, health checks, etc. Before those products became available, there were already available solutions to handle those constraints.
Among them are different libraries e.g. Hystrix and Resilience4J in the Java ecosystem. In particular, they both provide an implementation of the Circuit Breaker pattern, which prevents a network or service failure from cascading to other services. But now Istio also provides the same capability.
In this talk, we will have a look at how Istio and one among Hystrix/Resilience4J implement the Circuit Breaker pattern, and what pros/cons each of them has. Bonus, you'll be able to choose what library we will focus for the demo.
After this talk, you'll be able to decide which one is the best fit in your context.
Similar to DevExperience - The Dark Side of Microservices (20)
SnowCamp - Adding search to a legacy applicationNicolas Fränkel
Most applications evolve to a point where they need to provide search capabilities. But updating an application is always a risk. Plus, sometimes, you don’t have access to the source code. The easiest way to access the data is by getting them directly from the database.
The initial load is the easiest step. However, how do you keep the search index in sync with the database? How do you keep the latency between the search store and the source of truth, so your users don’t have to wait for the next run of the batch to access the newest changes?
In this live coding session, we will show you how you can solve this issue by connecting Elasticsearch to the database with a touch of Hazelcast.
On dit que GitHub est le CV d'un développeur. Un rapide coup d'œil à votre historique de commit et les recruteurs savent tout de vous. Cette approche comporte quelques problèmes. La plupart des entreprises ne publient même pas leur code sous une licence Open Source. Si vous travaillez pour l'une d'entre elles, et si vous n'êtes pas un développeur Open Source les soirs et les week-ends, alors vous n'avez aucune chance.
Récemment, GitHub a permis un certain degré de personnalisation de son profil. Ainsi, même si votre historique de commit a plus de blanc que de vert, vous pouvez fournir un bon point d'entrée pour les employeurs potentiels. Mais ça ne vaut que l'effort que vous y mettez et les données perdent leur valeur rapidement. Pourtant, avec un peu de travail et l'aide d'outils d'automatisation (tels que GitHub Actions), vous pouvez présenter un profil toujours à jour.
Zero-downtime deployment on Kubernetes with HazelcastNicolas Fränkel
Kubernetes allows a lot. After discovering its features, it’s easy to think it can magically transform your application deployment process into a painless no-event. For Hello World applications, that is the case. Unfortunately, not many of us do deploy such applications day-to-day because we need to handle state. Though it would be much easier to have stateless apps, and despite our best efforts in this direction, state is found in (at least) two places: sessions and databases.
You need to think keeping the state while stopping and starting application nodes. In this talk, I’ll demo how to update a Spring Boot app deployed on a Kubernetes cluster with a non-trivial database schema change with the help of Hazelcast, while keeping the service up during the entire update process.
jLove - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
When one’s app is challenged with poor performances, it’s easy to set up a cache in front of one’s SQL database. It doesn’t fix the root cause (e.g. bad schema design, bad SQL query, etc.) but it gets the job done. If the app is the only component that writes to the underlying database, it’s a no-brainer to update the cache accordingly, so the cache is always up-to-date with the data in the database.
Things start to go sour when the app is not the only component writing to the DB. Among other sources of writes, there are batches, other apps (shared databases exist unfortunately), etc. One might think about a couple of ways to keep data in sync i.e. polling the DB every now and then, DB triggers, etc. Unfortunately, they all have issues that make them unreliable and/or fragile.
You might have read about Change-Data-Capture before. It’s been described by Martin Kleppmann as turning the database inside out: it means the DB can send change events (SELECT, DELETE and UPDATE) that one can register to. Just opposite to Event Sourcing that aggregates events to produce state, CDC is about getting events out of states. Once CDC is implemented, one can subscribe to its events and update the cache accordingly. However, CDC is quite in its early stage, and implementations are quite specific.
In this talk, I’ll describe an easy-to-setup architecture that leverages CDC to have an evergreen cache.
BigData conference - Introduction to stream processingNicolas Fränkel
This document discusses stream processing and summarizes a presentation about the topic. It introduces Hazelcast Jet as a stream processing engine and covers open data standards like GTFS. It also describes a demo that uses GTFS data to enrich public transit vehicle position updates in real-time using Hazelcast Jet. The presentation discusses streaming approaches, benefits over batch processing, and provides an overview of stream processing concepts.
ADDO - Your own Kubernetes controller, not only in GoNicolas Fränkel
In Kubernetes, operators allow the API to be extended to your heart content. If one task requires too much YAML, it’s easy to create an operator to take care of the repetitive cruft, and only require a minimum amount of YAML.
On the other hand, since its beginnings, the Go language has been advertised as closer to the hardware, and is now ubiquitous in low-level programming. Kubernetes has been rewritten from Java to Go, and its whole ecosystem revolves around Go. For that reason, It’s only natural that Kubernetes provides a Go-based framework to create your own operator. While it makes sense, it requires organizations willing to go down this road to have Go developers, and/or train their teams in Go. While perfectly acceptable, this is not the only option. In fact, since Kubernetes is based on REST, why settle for Go and not use your own favorite language?
In this talk, I’ll describe what is an operator, how they work, how to design one, and finally demo a Java-based operator that is as good as a Go one.
TestCon Europe - Mutation Testing to the Rescue of Your TestsNicolas Fränkel
Unit testing ensures your production code is relevant. But what does ensure your testing code is relevant? Come discover mutation testing and make sure your never forget another assert again.
In the realm of testing, the code coverage metrics is the most often talked about. However, it doesn’t mean that the test has been useful or even that an assert has been coded. Mutation testing is a strategy to make sure that the test code is relevant.
In this talk, Nicolas will explain how Code Coverage is computed and what its inherent flaw is. Afterwards, he will describe how Mutation Testing work and how it helps pointing out code that is tested but leave out corner cases. He will also demo PIT, a Java production-grade framework that enables Mutation Testing.
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationNicolas Fränkel
As “the Cloud” becomes more and more widespread, now is a good time to assess how you can containerize your Java application. I assume you’re able to write a a Dockerfile around the generated JAR. However, each time the application’s code will change, the whole image will need to be rebuilt. If you’re deploying to a local Kubernetes cluster environment, this increases that much the length of the feedback loop.
In this demo-based talk, I’ll present different ways to get your Java app in a container: Dockerfile, Jib, and Cloud Native Buildpacks. We will also have a look at what kind of Docker image they generate, how they layer the images, whether those images are compatible with skaffold, etc.
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
CDC is a brand new approach that "turns the database inside out": it allows to get events out of the database state. This can be leveraged to get a cache that is never stale.
JavaDay Istanbul - 3 improvements in your microservices architectureNicolas Fränkel
While a microservices architecture is more scalable than a monolith, it has a direct hit on performance.
To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I’ll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it. Hint: it’s much easier than one would expect.
At a point in the past, it was forecast that Java would die, but the JVM platform would be its legacy. And in fact, for a long time, the JVM has been tremendously successful. Wikipedia itself lists a bunch of languages that run on it, some of them close to Java e.g. Kotlin, some of them very remote e.g. Clojure.
But nowadays, the Cloud is becoming ubiquitous. Containerization is the way to go to alleviate some of the vendor lock-in issues. Kubernetes is a de facto platform. If a container needs to be killed for whatever reason (resource consumption, unhealthy, etc.), a new one needs to replace it as fast as possible. In that context, the JVM seems to be a dead-end: its startup time is huge in comparison to a native process. Likewise, it consumes a lot of memory that just increase the monthly bill.
What does that mean for us developers? Has all the time spent in learning the JVM ecosystem been invested with no hope of return over investment? Shall we need to invest even more time in new languages, frameworks, libraries, etc.? That is one possibility for sure. But we can also leverage our existing knowledge, and embrace the Cloud and containers ways with the help of some tools.
In this talk, I’ll create a simple URL shortener with a “standard” stack: Kotlin, JAX-RS and Hazelcast. Then, with the help of Quarkus and GraalVM, I’ll turn this application into a native executable with all Cloud/Container related work has been moved to the build process.
Devclub.lv - Introduction to stream processingNicolas Fränkel
While “software is eating the world”, those who are able to best manage the huge mass of data will emerge out on the top.
The batch processing model has been faithfully serving us for decades. However, it might have reached the end of its usefulness for all but some very specific use-cases. As the pace of businesses increases, most of the time, decision-makers prefer slightly wrong data sooner, than 100% accurate data later. Stream processing – or data streaming – exactly matches this usage: instead of managing the entire bulk of data, manage pieces of them as soon as they become available.
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootNicolas Fränkel
Kubernetes allows a lot. After discovering its features, it’s easy to think it can magically transform your application deployment process into a painless no-event. For Hello World applications, that is the case. Unfortunately, not many of us do deploy such applications day-to-day. You need to think about application backward compatibility, possible rollback, database schema migration, etc. I believe the later is one of the biggest pain point. In this talk, I’ll demo how to update a Spring Boot app deployed on a Kubernetes cluster with a non-trivial database schema migration with the help of Flyway, while keeping the service up during the entire update process.
JOnConf - A CDC use-case: designing an Evergreen CacheNicolas Fränkel
This document discusses using change data capture (CDC) and Hazelcast Jet to build an evergreen cache that remains in sync with a database. It covers alternatives to cache invalidation like polling and triggers, introduces CDC and the Debezium implementation, and proposes a Jet job that watches database change events, analyzes them, and updates the cache accordingly to solve the cache freshness problem.
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...Nicolas Fränkel
When one’s app is challenged with poor performances, it’s easy to set up a cache in front of one’s SQL database. It doesn’t fix the root cause (e.g. bad schema design, bad SQL query, etc.) but it gets the job done. If the app is the only component that writes to the underlying database, it’s a no-brainer to update the cache accordingly, so the cache is always up-to-date with the data in the database.
Things start to go sour when the app is not the only component writing to the DB. Among other sources of writes, there are batches, other apps (shared databases exist, unfortunately), etc. One might think about a couple of ways to keep data in sync i.e. polling the DB every now and then, DB triggers, etc. Unfortunately, they all have issues that make them unreliable and/or fragile.
In this talk, I will describe an easy-to-setup architecture that leverages CDC to have an evergreen cache.
This talk will be about the reasons behind the new stream processing model, how it compare to the old batch model, what are their pros and cons, and a list of existing technologies implementing stream processing with their most prominent characteristics. It will contain details of one possible use-case of data streaming that is not possible with batches: display in (near) real-time all trains in Switzerland and their position on a map, beginning with an overview of all the requirements and the design. Finally, using an OpenData endpoint and the Hazelcast platform,showing a working demo implementation of it.
Java.IL - Your own Kubernetes controller, not only in Go!Nicolas Fränkel
In Kubernetes, operators allow the API to be extended to your heart content. If one task requires too much YAML, it’s easy to create an operator to take care of the repetitive cruft, and only require a minimum amount of YAML.
On the other hand, since its beginnings, the Go language has been advertised as closer to the hardware, and is now ubiquitous in low-level programming. Kubernetes has been rewritten from Java to Go, and its whole ecosystem revolves around Go. For that reason, It’s only natural that Kubernetes provides a Go-based framework to create your own operator. While it makes sense, it requires organizations willing to go down this road to have Go developers, and/or train their teams in Go. While perfectly acceptable, this is not the only option. In fact, since Kubernetes is based on REST, why settle for Go and not use your own favorite language?
In this talk, I’ll describe what is an operator, how they work, how to design one, and finally demo a Java-based operator that is as good as a Go one.
The document discusses stream processing and provides an overview of Hazelcast Jet. It begins with explaining why streaming is useful and describes different streaming approaches like event-driven programming. It then provides details on Hazelcast Jet, including its concepts of pipelines and jobs. The document also discusses open data standards like GTFS and demonstrates a sample streaming pipeline that enriches public transportation data from open APIs.
London Java Community - An Experiment in Continuous Deployment of JVM applica...Nicolas Fränkel
A couple of years ago, continuous integration in the JVM ecosystem meant Jenkins. Since that time, a lot of other tools have been made available. But new tools don’t mean new features, just new ways. Besides that, what about continuous deployment? There’s no tool that allows deploying new versions of a JVM-based application without downtime. The only way to achieve zero downtime is to have multiple nodes deployed on a platform, and let that platform achieve that e.g. Kubernetes.
And yet, achieving true continuous deployment of bytecode on one single JVM instance is possible if one changes one’s way of looking at things. What if the compilation could be seen as changes? What if those changes could be stored in a data store, and a listener on this data store could stream those changes to the running production JVM via the Attach API?
In this talk, we'll demo exactly that using Hazelcast and Hazelcast Jet - but it’s possible to re-use the principles that will be shown using other streaming technologies.
OSCONF - Your own Kubernetes controller: not only in GoNicolas Fränkel
This document discusses creating Kubernetes operators and controllers using different programming languages besides Go. It suggests that a Java-based controller is possible using the GraalVM, which allows creating native executables from Java bytecode. Key points covered include what controllers and operators are, that no specific technology stack is required, and that the JVM could be a good option for controller development with GraalVM's support for polyglot programming and creating native applications.
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.
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.
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...The Third Creative Media
"Navigating Invideo: A Comprehensive Guide" is an essential resource for anyone looking to master Invideo, an AI-powered video creation tool. This guide provides step-by-step instructions, helpful tips, and comparisons with other AI video creators. Whether you're a beginner or an experienced video editor, you'll find valuable insights to enhance your video projects and bring your creative ideas to life.
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio, Inc.
Alluxio Webinar
June. 18, 2024
For more Alluxio Events: https://www.alluxio.io/events/
Speaker:
- Jianjian Xie (Staff Software Engineer, Alluxio)
As Trino users increasingly rely on cloud object storage for retrieving data, speed and cloud cost have become major challenges. The separation of compute and storage creates latency challenges when querying datasets; scanning data between storage and compute tiers becomes I/O bound. On the other hand, cloud API costs related to GET/LIST operations and cross-region data transfer add up quickly.
The newly introduced Trino file system cache by Alluxio aims to overcome the above challenges. In this session, Jianjian will dive into Trino data caching strategies, the latest test results, and discuss the multi-level caching architecture. This architecture makes Trino 10x faster for data lakes of any scale, from GB to EB.
What you will learn:
- Challenges relating to the speed and costs of running Trino in the cloud
- The new Trino file system cache feature overview, including the latest development status and test results
- A multi-level cache framework for maximized speed, including Trino file system cache and Alluxio distributed cache
- Real-world cases, including a large online payment firm and a top ridesharing company
- The future roadmap of Trino file system cache and Trino-Alluxio integration
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
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.
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
Enhanced Screen Flows UI/UX using SLDS with Tom KittPeter Caitens
Join us for an engaging session led by Flow Champion, Tom Kitt. This session will dive into a technique of enhancing the user interfaces and user experiences within Screen Flows using the Salesforce Lightning Design System (SLDS). This technique uses Native functionality, with No Apex Code, No Custom Components and No Managed Packages required.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Nashik's top web development company, Upturn India Technologies, crafts innovative digital solutions for your success. Partner with us and achieve your goals
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Paul Brebner
Closing talk for the Performance Engineering track at Community Over Code EU (Bratislava, Slovakia, June 5 2024) https://eu.communityovercode.org/sessions/2024/why-apache-kafka-clusters-are-like-galaxies-and-other-cosmic-kafka-quandaries-explored/ Instaclustr (now part of NetApp) manages 100s of Apache Kafka clusters of many different sizes, for a variety of use cases and customers. For the last 7 years I’ve been focused outwardly on exploring Kafka application development challenges, but recently I decided to look inward and see what I could discover about the performance, scalability and resource characteristics of the Kafka clusters themselves. Using a suite of Performance Engineering techniques, I will reveal some surprising discoveries about cosmic Kafka mysteries in our data centres, related to: cluster sizes and distribution (using Zipf’s Law), horizontal vs. vertical scalability, and predicting Kafka performance using metrics, modelling and regression techniques. These insights are relevant to Kafka developers and operators.
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.
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/
Transforming Product Development using OnePlan To Boost Efficiency and Innova...OnePlan Solutions
Ready to overcome challenges and drive innovation in your organization? Join us in our upcoming webinar where we discuss how to combat resource limitations, scope creep, and the difficulties of aligning your projects with strategic goals. Discover how OnePlan can revolutionize your product development processes, helping your team to innovate faster, manage resources more effectively, and deliver exceptional results.
Superpower Your Apache Kafka Applications Development with Complementary Open...Paul Brebner
Kafka Summit talk (Bangalore, India, May 2, 2024, https://events.bizzabo.com/573863/agenda/session/1300469 )
Many Apache Kafka use cases take advantage of Kafka’s ability to integrate multiple heterogeneous systems for stream processing and real-time machine learning scenarios. But Kafka also exists in a rich ecosystem of related but complementary stream processing technologies and tools, particularly from the open-source community. In this talk, we’ll take you on a tour of a selection of complementary tools that can make Kafka even more powerful. We’ll focus on tools for stream processing and querying, streaming machine learning, stream visibility and observation, stream meta-data, stream visualisation, stream development including testing and the use of Generative AI and LLMs, and stream performance and scalability. By the end you will have a good idea of the types of Kafka “superhero” tools that exist, which are my favourites (and what superpowers they have), and how they combine to save your Kafka applications development universe from swamploads of data stagnation monsters!
5. #microservices
QUOTE OF THE DAY
@nicolas_frankel
5
“[…] if people can't build
monoliths properly,
microservices won't help”
- Simon Brown
https://twitter.com/simonbrown/status/573072777147777024
https://genehughson.wordpress.com/2015/03/08/microservice-architectures-arent-for-everyone/
6. #microservices
QUOTE OF THE DAY
@nicolas_frankel
6
“I see you have a poorly
structured monolith. Would
you like me to convert it into a
poorly structured set of
microservices?”
- Architect Clippy
https://twitter.com/architectclippy/status/570025079825764352
https://genehughson.wordpress.com/2015/03/08/microservice-architectures-arent-for-everyone/
10. #microservices
THE MONOLITH
“A monolithic application
puts all its functionality into a
single process…”
http://martinfowler.com/articles/microservices.html
10
@nicolas_frankel
16. #microservices
SINGLE RESPONSIBILITY PRINCIPLE
Component-based
Wrapping a single business
capability
• Fine-grained
Decoupled from one
another
Communicating via simple
channels
16
@nicolas_frankel
31. #microservices
FALLACIES OF DISTRIBUTED
COMPUTING
1. The network is reliable.
2. Latency is zero.
3. Bandwidth is infinite.
4. The network is secure.
5. Topology doesn’t change.
6. There is one administrator.
7. Transport cost is zero.
8. The network is homogeneous.
@nicolas_frankel
32
39. #microservices
CONWAY’S LAW
“organizations which design systems ... are
constrained to produce designs which are copies
of the communication structures of these
organizations”
@nicolas_frankel
40