Spring Boot is a product from Spring, that provides many configuration defaults for a new Spring project, so that one can set up a project in minutes.
However, this is only one of the many features of Spring Boot. One of its module also provides many important Non-Functional Requirements out-of-the-box: monitoring, metrics, exposing those over HTTP, etc. In this presentation, I’ll demo some of those, that will make DevOps more than a little happy.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
Managing Serverless Microservices in the Wild
Handing off responsibility for your microservice's infrastructure with AWS API Gateway and Lambda is great, but it also means losing visibility and influence over your app in production.
In this talk, we'll discuss different strategies to gain insights into what actually is going on inside your serverless app. We will present a tool we've built at atomData to get high quality, actionable logs and metrics about our services.
Ansible is an IT infrastructure automation tool for configuration management, application deployment and continuous delivery. It is an open source tool.
Use PowerShell superpower to tame your Office 365
Would you like to know how to automate some administration tasks of your tenant?
You want to have a real-time view of your Office 365 usages?
Come to discover the means and tools that will enable you to reach your ends!
Microsoft has built a rich ecosystem around the various flavors of ASP.NET – MVC, Web API and even WebForms have a place in the modern web development world. So what the heck is up with ASP.NET Core anyways? Microsoft has flipped the ASP.NET world on its head with this fast, cross-platform web framework, designed from the ground up with developers from all walks of life in mind – and the change isn’t as scary as you think.
In this session, we’ll learn about ASP.NET Core and its design philosophies. We’ll learn how to leverage several popular development tools frequently used by developers outside of the ASP.NET ecosystem, including Gulp, Bower, Node and NPM, to build and run our application. Finally, we’ll use Visual Studio Code to create and run our very first ASP.NET Core project (on a Mac no less!)
For current ASP.NET developers, we’ll also touch on the portability of your current ASP.NET code.
Elm - never get a runtime error anymore. Almost.Anton Astashov
Elm, a transpiled-to-JavaScript language which makes sure you’ll never have a runtime error in your app. Almost. Why it’s cool, what it looks like, it’s pros and (most importantly) cons.
Managing Serverless Microservices in the Wild
Handing off responsibility for your microservice's infrastructure with AWS API Gateway and Lambda is great, but it also means losing visibility and influence over your app in production.
In this talk, we'll discuss different strategies to gain insights into what actually is going on inside your serverless app. We will present a tool we've built at atomData to get high quality, actionable logs and metrics about our services.
Ansible is an IT infrastructure automation tool for configuration management, application deployment and continuous delivery. It is an open source tool.
Use PowerShell superpower to tame your Office 365
Would you like to know how to automate some administration tasks of your tenant?
You want to have a real-time view of your Office 365 usages?
Come to discover the means and tools that will enable you to reach your ends!
Microsoft has built a rich ecosystem around the various flavors of ASP.NET – MVC, Web API and even WebForms have a place in the modern web development world. So what the heck is up with ASP.NET Core anyways? Microsoft has flipped the ASP.NET world on its head with this fast, cross-platform web framework, designed from the ground up with developers from all walks of life in mind – and the change isn’t as scary as you think.
In this session, we’ll learn about ASP.NET Core and its design philosophies. We’ll learn how to leverage several popular development tools frequently used by developers outside of the ASP.NET ecosystem, including Gulp, Bower, Node and NPM, to build and run our application. Finally, we’ll use Visual Studio Code to create and run our very first ASP.NET Core project (on a Mac no less!)
For current ASP.NET developers, we’ll also touch on the portability of your current ASP.NET code.
Running Containerized Applications on Modern Serverless PlatformsDevOps.com
Serverless enables powerful scaling from zero to infinity. However, traditional serverless technologies are cloud-vendor-specific with limited portability. Come and learn from Google Cloud and GitLab experts about emerging technologies like Kubernetes, Knative, Cloud Run, and GitLab Serverless, making it possible to write applications once and then port them to a variety to deployment environments.
In this webcast, we'll walk through some of the benefits and challenges of using cloud-vendor-specific serverless technologies. With Kubernetes as an infrastructure abstraction organizations can take advantage of hybrid (cloud and on-premises) as well as multi-cloud compute. We'll show you how to containerize a traditional application and deploy it to a variety of environments including Cloud Run as well as any Kubernetes cluster using GitLab Serverless.
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSébastien Levert
The world around the Office Developer is changing. And for someone with a heavy SharePoint background, it can be somewhat scary to make the move to the cloud. But don't be scared, SharePoint Developer! Become an added-value Office Developer and contribute to maximizing the productivity of your enterprise.
The technology space around Productivity has evolved and it has never been that exciting. Your step into the Mobile-First, Cloud-First world will be mindblowing and you will want to stick around for a very long time!
In this session, we will cover every aspect of the new Office 365 Developer paradigm and we will ensure that you can make yourself at home in such a new world. The technologies covered will span from being close to your existing stack (SharePoint Framework, JavaScript) to a set of technologies that are new and that will expand your possibilities (Office 365 Apps, Microsoft Graph, Azure, TypeScript)
This very session will make sure that at the end you get those 3 key takeaways :
- Understand your new role as an Office 365 Developer
- Have a complete overview of the technology stack you need to master in the cloud
- Change the way you will think for your next SharePoint & Office 365 project
Execution Plans: What Can You Do With ThemGrant Fritchey
People are aware that you can use an execution plan to tune a query, but do they have other uses? This session will drill down on all the hidden information within execution plans. The structures and information with an execution plan shows many of the inner workings of SQL Server. From calculated columns to referential integrity, these, and many other functions, are exposed through execution plans. From this session you’ll be able to better understand the inner workings of SQL Server as well as your own databases and queries.
Serverless architecture is a hot topic nowadays. The traditional architecture needs to have one or many servers to let the app run on, make the app come out the market. Many steps have been done from managing servers, monitoring servers to optimizing servers and it needs server administration knowledge. With Serverless, it doesn't mean you don't need the server at all, it means the server will be hosted by another party and away from you. You only focus on your code and give your product out to the market as fast as possible.
Selling an update to a client who is clinging to their ages-old Plone-site is only the first of many problems you face when it comes to updates. This talk is a collection of best-practices and lessons-learned during many migrations from "cosmetic designs-changes" that ended up in complete relaunches to "minor version upgrades" that ended up in large-scale coding-horrors. Audience-participation to trade tips and tricks is highly encouraged.
Topics covered include:
- Explaining reasons to upgrade to humans
- Why almost everything is a relaunch
- "What did you do to my pixel?" - Surviving design-upgrades
- Content-Migration: Tools, Tactics and Troubles
- When every feature becomes a bug
- What can break?
- What to migrate and what you might want to loose
- How to keep your own developments upgrade-safe(ish)
See a video of thetalk at http://www.youtube.com/watch?v=1Qx0JALp3lQ
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentSébastien Levert
The world around the Office Developer is changing. And for someone with a heavy SharePoint background, it can be somewhat scary to make the move to the cloud. But don't be scared, SharePoint Developer! Become an added-value Office Developer and contribute to maximize the productivity of your enterprise.
The technology space around Productivity has evolved and it has never been that exciting. Your step into the Mobile-First, Cloud-First world will be mindblowing and you will want to stick around for a very long time!
In this session, we will cover every aspect of the new Office 365 Developer paradigm and we will ensure that you can make yourself at home in such a new world. The technologies covered will span from being close to your existing stack (SharePoint Framework, JavaScript) to a set of technologies that are new and that will expand your possibilities (Office 365 Apps, Microsoft Graph, Azure, TypeScript)
This very session will make sure that at the end you get those 3 key takeaways :
- Understand your new role as an Office 365 Developer
- Have a complete overview of the technology stack you need to master in the cloud
- Change the way you will think for your next SharePoint & Office 365 project
Running Containerized Applications on Modern Serverless PlatformsDevOps.com
Serverless enables powerful scaling from zero to infinity. However, traditional serverless technologies are cloud-vendor-specific with limited portability. Come and learn from Google Cloud and GitLab experts about emerging technologies like Kubernetes, Knative, Cloud Run, and GitLab Serverless, making it possible to write applications once and then port them to a variety to deployment environments.
In this webcast, we'll walk through some of the benefits and challenges of using cloud-vendor-specific serverless technologies. With Kubernetes as an infrastructure abstraction organizations can take advantage of hybrid (cloud and on-premises) as well as multi-cloud compute. We'll show you how to containerize a traditional application and deploy it to a variety of environments including Cloud Run as well as any Kubernetes cluster using GitLab Serverless.
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSébastien Levert
The world around the Office Developer is changing. And for someone with a heavy SharePoint background, it can be somewhat scary to make the move to the cloud. But don't be scared, SharePoint Developer! Become an added-value Office Developer and contribute to maximizing the productivity of your enterprise.
The technology space around Productivity has evolved and it has never been that exciting. Your step into the Mobile-First, Cloud-First world will be mindblowing and you will want to stick around for a very long time!
In this session, we will cover every aspect of the new Office 365 Developer paradigm and we will ensure that you can make yourself at home in such a new world. The technologies covered will span from being close to your existing stack (SharePoint Framework, JavaScript) to a set of technologies that are new and that will expand your possibilities (Office 365 Apps, Microsoft Graph, Azure, TypeScript)
This very session will make sure that at the end you get those 3 key takeaways :
- Understand your new role as an Office 365 Developer
- Have a complete overview of the technology stack you need to master in the cloud
- Change the way you will think for your next SharePoint & Office 365 project
Execution Plans: What Can You Do With ThemGrant Fritchey
People are aware that you can use an execution plan to tune a query, but do they have other uses? This session will drill down on all the hidden information within execution plans. The structures and information with an execution plan shows many of the inner workings of SQL Server. From calculated columns to referential integrity, these, and many other functions, are exposed through execution plans. From this session you’ll be able to better understand the inner workings of SQL Server as well as your own databases and queries.
Serverless architecture is a hot topic nowadays. The traditional architecture needs to have one or many servers to let the app run on, make the app come out the market. Many steps have been done from managing servers, monitoring servers to optimizing servers and it needs server administration knowledge. With Serverless, it doesn't mean you don't need the server at all, it means the server will be hosted by another party and away from you. You only focus on your code and give your product out to the market as fast as possible.
Selling an update to a client who is clinging to their ages-old Plone-site is only the first of many problems you face when it comes to updates. This talk is a collection of best-practices and lessons-learned during many migrations from "cosmetic designs-changes" that ended up in complete relaunches to "minor version upgrades" that ended up in large-scale coding-horrors. Audience-participation to trade tips and tricks is highly encouraged.
Topics covered include:
- Explaining reasons to upgrade to humans
- Why almost everything is a relaunch
- "What did you do to my pixel?" - Surviving design-upgrades
- Content-Migration: Tools, Tactics and Troubles
- When every feature becomes a bug
- What can break?
- What to migrate and what you might want to loose
- How to keep your own developments upgrade-safe(ish)
See a video of thetalk at http://www.youtube.com/watch?v=1Qx0JALp3lQ
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentSébastien Levert
The world around the Office Developer is changing. And for someone with a heavy SharePoint background, it can be somewhat scary to make the move to the cloud. But don't be scared, SharePoint Developer! Become an added-value Office Developer and contribute to maximize the productivity of your enterprise.
The technology space around Productivity has evolved and it has never been that exciting. Your step into the Mobile-First, Cloud-First world will be mindblowing and you will want to stick around for a very long time!
In this session, we will cover every aspect of the new Office 365 Developer paradigm and we will ensure that you can make yourself at home in such a new world. The technologies covered will span from being close to your existing stack (SharePoint Framework, JavaScript) to a set of technologies that are new and that will expand your possibilities (Office 365 Apps, Microsoft Graph, Azure, TypeScript)
This very session will make sure that at the end you get those 3 key takeaways :
- Understand your new role as an Office 365 Developer
- Have a complete overview of the technology stack you need to master in the cloud
- Change the way you will think for your next SharePoint & Office 365 project
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?
Simplify Cloud Applications using Spring CloudRamnivas Laddad
Developing an application to a cloud platform involves working with deployed application's environment and connecting to services. Spring Cloud, a new project, simplifies these tasks in a variety of cloud platforms including Cloud Foundry and Heroku. Spring Cloud makes it possible to deploy the same artifact (a war or a jar) to multiple cloud environments. It supports multiple clouds through the concept of Cloud Connector and provides out of the box implementation for Cloud Foundry and Heroku. Spring Cloud is designed for extension, making it simple to create a cloud connector for other cloud platforms. Spring Cloud also supports connecting to multiple services through the concept of service connectors. Out of the box, it provides support for many common services, but also makes it easy to extend it to other services. While Spring Cloud can be used by applications using any JVM language and framework, it further simplifies Spring applications through Java and XML-based configuration. In this talk, we will introduce the Spring Cloud project, show how you can simplify configuring applications for cloud deployment, discuss its extensibility mechanism, and put it to good use by showing practical examples from the field.
DevTalks Romania Cluj - Spring Boot for DevOps (rebooted for 2.0)Nicolas Fränkel
Spring Boot is a product from Spring, that provides many configuration defaults for a new Spring project, so that one can set up a project in minutes. However, this is only one of the many features of Spring Boot. One of its module also provides many important Non-Functional Requirements out-of-the-box: monitoring, metrics, exposing those over HTTP, etc. In this presentation, I’ll demo some of those, that will make DevOps more than a little happy.
Canary Analyze All The Things: How We Learned to Keep Calm and Release OftenC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1ph8Rq1.
Roy Rapoport discusses canary analysis deployment and observability patterns he believes that are generally useful, and talks about the difference between manual and automated canary analysis. Filmed at qconnewyork.com.
Roy Rapoport manages the Insight Engineering group at Netflix, responsible for building Netflix's Operational Insight platforms, including cloud telemetry, alerting, and real-time analytics. He originally joined Netflix as part of its datacenter-based IT/Ops group, and prior to transferring over to Product Engineering, was managing Service Delivery for IT/Ops.
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...RightScale
Speakers:
Patrick McClory - Solutions Architect, RightScale
Patrick Moore - Operations Manager, Koupon Media
Gordon Bailey - Lead Infrastructure Engineer, Koupon Media
RightScale offers a robust REST-based API and, while it is available to all, having platform-specific clients certainly helps in the process of consuming and working with any given programming interface. We’ll demonstrate the RightScale .NET API 1.5 wrapper project with a few examples of how it can help to automate your process, integrate with existing tools, and even make your life easier when implemented within your daily operating applications.
At Jazkarta, our Plone projects typically consist of a mix of custom functionality and theming. The client's budget is usually fixed and their requirements are imperfectly defined at the start of the project. This cries out for an agile, iterative approach, however our development environment is not what most agile experts would recommend. No one is co-located - our clients are remote and our developers are distributed, and they are not working full time on a single project.
Sally Kleinfeldt describes Jazkarta's approach to managing a Plone website development project in an agile fashion, with a part time, distributed team. Topics include roles, scheduling, estimation, and project management tools.
Links to videos of the presentation are here: http://weblion.psu.edu/symposium/talks/agile-development-with-plone
At Jazkarta, our Plone projects typically consist of a mix of custom functionality and theming. The client's budget is usually fixed and their requirements are imperfectly defined at the start of the project. This cries out for an agile, iterative approach, however our development environment is not what most agile experts would recommend. No one is co-located - our clients are remote and our developers are distributed, and they are not working full time on a single project.
Sally Kleinfeldt describes Jazkarta's approach to managing a Plone website development project in an agile fashion, with a part time, distributed team. Topics include roles, scheduling, estimation, and project management tools.
Links to videos of the presentation are here: http://weblion.psu.edu/symposium/talks/agile-development-with-plone
What do making cars and writing software have in common?PayPerks
Many components of the Agile system find their roots in lean manufacturing made popular by Toyota in the mid to late 20th century. This talk explains that link, as well as gives an overview of how we use Agile at PayPerks.
JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"Daniel Bryant
DevOps - is it for you? Heard about the wonderful ways it could benefit your organisation, but put off by the scary stories? Can you really make the transition to DevOps, and is it worth it? Listen and learn from two DevOps practitioners about their hands-on experiences in making the change. Covering a range of real life examples, this talk will explain the real business benefits to be had from using DevOps techniques, as well as the technical and personal aspects involved.
Whether it’s a small team within a startup or one of hundreds within a large organisation, this talk has practical advice on how to approach the challenge, what critical changes need to be considered, and what tools and processes are best suited for the situation. The adoption of DevOps is a game changing event for the industry. Learn why and learn how you can benefit from it too.
This talk was presented with Steve Poole (@spoole167) at JAX London, October 2014
Making prototypes with Drupal is easy, fast and has real benefits. In this presentation I will show you how we build really big Drupal sites at Pronovix/OwnSourcing.
Drupal8 modernization (new object-oriented base) and adoption of many Symfony components is a huge step in connecting these two amazing communities and amazing projects. Drupal8 is not powered by full-stack Symfony and there is still many differences between these two relatives, but still, Symfony developers should master it easily. This talk is for Symfony developers who don't have experience with Drupal8. It will guide you through routing, controllers, hooks, events, Drupal Console, DI and many other interesting elements that power Drupal8 under the hood. It will also show how to build custom modules Symfony way.
Jonathan Alexander, CTO of QASymphony and other Product Leaders from QASymphony walked through some of the exciting product features and enhancements coming in 2016 during Quality Jam 2016.
In this talk, I present an introduction of MLFlow. I also show some examples of using it by means of MLFlow Tracking, MLFlow Projects and MLFlow Models. I also used Databricks as an example of remote tracking.
Similar to Spring IO - Spring Boot for DevOps (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
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.
In this talk, Nicolas will define the context in which the old batch processing model was born, the reasons that are behind the new stream processing one, how they compare, what are their pros and cons, and a list of existing technologies implementing the latter with their most prominent characteristics. He’ll conclude by describing in detail 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. He’ll go through the all the requirements and the design. Finally, using an OpenData endpoint and the Hazelcast platform, he’ll try to impress attendees with a working demo implementation of it.
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
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.
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.
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.
In this talk, I’ll define the context in which the old batch processing model was born, the reasons that are behind the new stream processing one, how they compare, what are their pros and cons, and a list of existing technologies implementing the latter with their most prominent characteristics. I’ll conclude by describing in detail 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. I’ll go through the all the requirements and the design. Finally, using an OpenData endpoint and the Hazelcast platform, I’ll try to impress attendees with a working demo implementation of it.
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
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 favourite language?
In this talk, I will describe what an operator is, how they work, how to design one, and finally demo a Java-based operator that is as good as a Go one.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
15. Graphite
• Store numeric time-series
data
• Render graphs of this data
on demand
@nicolas_frankel
16. For development
• Either define the 2 reporters
– Set
@ConditionalOnMissingBean
– Use a "Development" profile
• Or define only the JMX
reporter
– In production, use JMXTrans
@nicolas_frankel
18. Health checks
• A good way to monitor
your application
• Each check wraps a
dependency
–e.g. a datasource
@nicolas_frankel
19. Health checks
• Each check returns an
Health object
–Status UP or DOWN
–If not, possibly with
details
@nicolas_frankel
20. Health check endpoint
• /health aggregates all
checks
• Health are objects
–Serialized in JSON
• If only one is down, the
HTTP code is set to 5xx
@nicolas_frankel
21. Health check
• Bean must implement
HealthIndicator
• Doesn’t use Dropwizard
HealthCheck
@nicolas_frankel
22. References
• Graphite Vagrant
– https://github.com/tilmans/vagrant-statsd-graphite-
puppet
• Enhanced Spring Pet Clinic
– https://github.com/nfrankel/enhanced-pet-clinic
@nicolas_frankel