News AggregatorAn Overview of CI/CD Pipelines With KubernetesAggregated on: 2022-10-25 12:28:33 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report Automation and cross-functional collaboration are two fundamental features of a DevOps model. As one of the core components of a DevOps framework, continuous integration and continuous delivery (CI/CD) pipelines speed up application delivery by automating various stages of the software development lifecycle. Although Kubernetes inherently automates the delivery, scaling, and management of applications by deploying and orchestrating them in flexible, portable containers, adopting a CI/CD-based workflow brings a plethora of additional features by offering an iterative cycle of configuration merges and testing. View more...What Are the Key Applications and Benefits of IoT Fleet Management?Aggregated on: 2022-10-25 04:28:32 With IoT solutions implemented in fleet management, the supervisors and managers will know about the vehicle's health, current position, updates from the drive, fleet health, cargo, and so on. No matter where you are located, the right fleet management structure will make it more proactive and precise. Understanding Fleet Management and the Role of IoT The basic purpose of fleet management is to structure the fleet and its activities to get the best outcome. In terms of management, this includes taking care of the vehicles and drivers, monitoring the vehicle’s health, tracking the cargo, ensuring that the vehicles can deliver the cargo on time, adjusting the vehicle route, and so on. View more...Internal SecurityAggregated on: 2022-10-25 02:58:32 Sixty percent of security breaches are internal to the organization and yet when we think about security we usually think about vulnerabilities, exploits, and so on. All the while, 60 percent of hacks are just from a person just logging into the system and taking whatever the hell they want. I’ve been thinking about this quite a bit recently. I spent a great deal of time researching security-related issues for a chapter of my upcoming book and unfortunately found very little on hardening internal systems. Yes, there’s material about that too. But it seems that the vast majority is geared towards external threats rather than internal threats. I get that. Securing internally is hard, but it’s probably the most important thing we can do and it’s probably not as hard as many of us think. I’d like to preface this by stating that I’m not a security expert. The reason I’m writing this post is because most of us aren’t. So what can we “typical programmers” do to mitigate security risks? View more...The Rise of the Semantic Layer: Metrics On-The-FlyAggregated on: 2022-10-25 00:58:32 A semantic layer is something we use every day. We build dashboards with yearly and monthly aggregations. We design dimensions for drilling down reports by region, product, or whatever metrics we are interested in. What has changed is that we no longer use a singular business intelligence tool; different teams use different visualizations (BI, notebooks, and embedded analytics). Instead of re-creating siloed metrics in each app, we want to define them once, open in a version-controlled way and sync them into each visualization tool. That’s what the semantic layer does, primarily defined as YAML. Additionally, the semantic layer adds powerful layers such as APIs, caching, access control, data modeling, and metrics layer. View more...What Aren’t Events?Aggregated on: 2022-10-24 23:58:32 Despite the hype around ‘Event-Driven Architecture’ (EDA) over the past few years, I am confident that you will be unable to find a solid definition for ‘Event,’ on the web today. After an hour of research, the best definition I managed to find is one of several definitions provided by Red Hat: “We will define a software event as the immutable record that something happened within an application… Normally, events are broadcast to notify of change or replicate state across multiple applications.” Here, Red Hat are talking specifically about ‘Software Events’: each of which signals a ‘change of state’ in a particular ‘entity’ (e.g. Customer address changed) within a given distributed application. This definition perhaps seems very straightforward, but what is not mentioned, is that there are in fact three different types of ‘Events’ according to today’s pundits: View more...Key Takeaways After Reading the Latest Amazon DynamoDB PaperAggregated on: 2022-10-24 21:13:32 It’s been a long time since DynamoDB published a paper. A few days ago, I read its newly published one, “Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service,” and I think it’s one of the most practical papers in recent years for large-scale distributed systems from an engineering perspective. It doesn’t even explain much about the architecture because it doesn’t need to. Shared-nothing systems look similar, and the authors know exactly who the readers of this paper are ^_^. What’s more, the paper is written simply, and there’s no math! After all, DynamoDB doesn’t need to try to “prove” anything. It has fully proven itself in the past ten years, both in terms of scale and stability. I found that the paper is relatively new, and not too many blogs talk about it, so why don’t I write something about it? View more...Use Selenium Wait for Page to Load With Python [Tutorial]Aggregated on: 2022-10-24 20:13:32 One of the primary requisites to automate interactions with a WebElement in the DOM is that it should be visible and intractable. Like me, you would also come across several scenarios where your Selenium Python scripts threw an ElementNotVisibleException. The failure in the test automation script can be attributed to the presence of dynamic WebElements on the web page. The WebElement under test might not have been loaded on the web page, and your test is trying to perform some activity on that WebElement. It is known that dynamic content loading with AJAX is widely used across different web products (or websites). When interacting with dynamic WebElements using Selenium test automation, it is recommended to add Selenium to wait for the page to load so that the element is available for performing tests. View more...Best 10 Front-End Technologies for Web DevelopmentAggregated on: 2022-10-24 19:28:32 In this Covid-struck era, digitization has become more important than ever. Front-end technologies, such as front-end frameworks, have been instrumental in developing all software applications. Although the back end is important, it is not the first thing users encounter. View more...Java Records — Etched in FinalityAggregated on: 2022-10-24 18:58:32 This article uses a story format to show the concept of records in Java. It shows the different concepts and parts that make up the records, including a restricted identifier, java.lang.Record, Components, Canonical, Compact, Normal constructors, and more. The Minimalist — A Resolution Working from home has taught some of us to think of being minimalistic. It was no different for our protagonist, “Dev” — Dev decided to be minimalistic with respect to some of the dresses — So he decided to keep track of what he was wearing to donate the new dresses. To keep it simple, he decided to keep track of two items, shirts and shoes, and wrote the following class in Java: View more...The Top Elastic Beanstalk Alternatives for Startups in 2022Aggregated on: 2022-10-24 17:13:32 Developers at startups are almost always faced with the question of the most cost-effective way of getting the benefits of the cloud without managing the underlying systems. Years ago, when we were still building monoliths and using EC2 instances, Elastic Beanstalk (or Google App Engine and Azure App Service) was a tempting choice for young start-ups looking to deploy fast. Even then, Elastic Beanstalk (EB) was a fit only for non-mission-critical applications that required standard configuration and deployments. (Here are some accounts of real developers getting their hands burnt with EB). Besides, Elastic Beanstalk has not seen a major upgrade for some time, so should you use it even for non-mission-critical applications? What are the modern alternatives to Elastic Beanstalk in 2022? View more...Event Stream Programming Unplugged —Part 1Aggregated on: 2022-10-24 16:28:32 Welcome to event streaming unplugged; this is the first in a series of articles covering the topic of real-time event stream processing. This is a practical programming series with resources at unplugged part 1. What you will learn in these articles: The basics of unbounded event processing. Functional reactive programming introducing concepts like map, filtering, groupBy, and flatMap. Constructing directd acyclic execution graphs. Managing event streams of heterogeneous types. Imperative event programming, integrating application code. Input and output. Building, testing, and deploying. Auditing, logging, and debugging event execution flow. This article starts with a simple hello world and then moves on to a more complex example. The second example calculates the mark-to-market value for a set of traded currency pairs. Two independent event streams, instrument market price and execute trades, are processed. Batches of trades and reset signals are also supported. A more complex example serves as a meaningful comparison to an imperative solution. The open-source event stream processing library Fluxtion is used to implement the examples. I hope to receive feedback on the library and make improvements. Unplugged From What? There are many great products and projects available that offer real-time stream processing capabilities, but in general, they come connected to an infrastructure service or some other unrelated concerns. This series is focused on processing logic, so we are unplugged from: View more...The Power of Communities for Open-Source and the KIE CommunityAggregated on: 2022-10-24 13:28:32 What Is KIE, After All? If you work with projects like jBPM, Drools, OptaPlanner, and Kogito, there is a high probability of seeing “KIE” somewhere. Either in APIs, package names, communities, etc. So let’s take some time to clarify what KIE is. Understanding KIE will unlock your understanding of how to mix and naturally match these projects and deliver reliable and production-ready solutions for several business automation scenarios. View more...Architectural Patterns for Microservices With KubernetesAggregated on: 2022-10-24 12:13:32 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report For some time, microservices have drawn interest across the architecture and software engineering landscape, and now, applications comprised of microservices have become commonplace. So what exactly is the definition of a microservice? That is somewhat of a loaded question as there is plenty of debate on granularity, segmentation, and what designates a microservice. For the purposes of this discussion, a microservices-based architecture is segmenting an application's units of work into discrete, interoperable components. This is a broad definition, but it is workable in that it identifies two foundational microservice concepts: discrete and interoperable. View more...Mock gRPC Services for Unit TestingAggregated on: 2022-10-24 00:58:32 In our day-to-day work, we develop applications that include interactions with software components through I/O. They can be a database, a broker, or some form of blob storage. Take, for example, the cloud components you interact with: Azure Storage Queue, SQS, Pub/Sub. The communication with those components usually happens with an SDK. From the start, testing will kick in. Therefore, the interaction with those components should be tackled in a testing context. An approach is to use installations (or simulators) of those components and have the code interacting with an actual instance, just like the way it can be achieved by using test containers or by creating infrastructure for testing purposes only.Another approach is to spin up a mock service of the components and have the tests interacting with it. A good example of this can be Hoverfly. A simulated HTTP service is run during testing and test cases interact with it. View more...How Disaster Recovery Solutions for Cloud Databases Have Evolved Over the YearsAggregated on: 2022-10-24 00:13:32 Disaster recovery (DR) is a core feature of enterprise-level databases. Database vendors are constantly looking to improve DR, and in the last 10 years they’ve made major innovations. This article is a brief history of database DR, with an emphasis on DR and high availability (HA) innovations in cloud-based distributed databases. View more...What is GitOps?Aggregated on: 2022-10-24 00:13:32 What is GitOps? Well, GitOps is a software development framework that enables organizations to continuously deliver software applications while efficiently managing IT infrastructure using Git as a single source of truth. GitOps, a subset of DevOps, combines Infrastructure-as-Code (IaC) and DevOps best practices to create an operating model for managing architecture and instantly reproducing the system’s cloud infrastructure based on the state of Git repos. While there are several tools and solutions for software development, infrastructure management has always been a complex task. It requires expert knowledge to build and maintain infrastructure. DevOps revolutionized the software development landscape and empowered infrastructure management with the “Infrastructure-as-Code (IaC)” approach. View more...How to Calculate OHLC Bars in DolphinDBAggregated on: 2022-10-23 16:13:32 OHLC bars can be efficiently calculated in various scenarios in DolphinDB. This tutorial will introduce how to calculate OHLC bars with historical data and real-time data. With historical data We will explain how to calculate OHLC bars with batch calculation for the following scenarios: View more...How a Trained Therapist Diagnoses Healthy Dev TeamsAggregated on: 2022-10-23 15:43:32 Not only is Kelly Vaughn one of the pioneers in building thought-leadership content for the developer community, she’s one of the rare programmers who comes to the craft with the background of a trained therapist. From knowing what content devs need to grow to being able to recognize the cognitive-behavioral impacts of the developer experience, Kelly Vaughn is truly one of our most unique guests to date. View more...The Technology Stack Needed To Build a Web3 ApplicationAggregated on: 2022-10-22 22:43:31 The internet ecosystem is currently shifting significantly with the dawn of decentralization. More and more decentralized technologies are becoming mainstream and gaining acceptance by the world at large. As far as innovation and development is concerned, the startup way of doing things has prevailed. While more prominent companies have tried to get into the space, none of their projects has been groundbreaking regarding their usage. Startups have the upper edge, with many creating successful businesses like opensea.io, Alchemy, and IPFS/filecoin (Protocol Labs). View more...JQueue: A Library to Implement the Outbox PatternAggregated on: 2022-10-22 16:43:31 In microservices or any other event-based architecture, in some use cases, a service might require us to make changes to their own local database and also publish an event. That event is then consumed by other services. To have a consistent software system, it is mandatory that these two actions get performed atomically. Both actions need to complete successfully, or none of them need to complete. There should not be another way. An elegant way to solve this is by using the Outbox Pattern. This works by using a database table (if your service uses a relational database), usually called the outbox table, to store the events. In this case, you are able to include the insert SQL statement of the event into the use case local transaction. Another runner can periodically check if the outbox table is not empty and process the events by publishing them into a message broker. View more...Caching in RavenDBAggregated on: 2022-10-22 16:13:31 Generally speaking, retrieving data from main memory is about four times faster than from a solid state drive, which in turn is about 150 times faster than from a server across the network. These values can vary a lot, but what’s certain is that the source of the data significantly affects the speed of retrieval. Caching is the process of temporarily storing a copy of retrieved data in a more quickly accessible (lower latency) location, called a cache. It’s used to speed up applications by allowing subsequent requests for the same data to be served from the cache orders of magnitude faster than from the original source. View more...Searchable Pod Logs on Kubernetes in MinutesAggregated on: 2022-10-22 16:13:31 Log data, as it grows in importance and its sheer volume – is increasingly looking like analytical data. Small, semi-structured datasets in high volumes, critical insights to be captured from the data – the boundary between a log and an analytical event is as thin as ever. Organisations are adapting by switching to OLAP stores like ClickHouse for their log storage. But OLAP platforms are essentially databases, built for BI-type use cases. This leaves a huge gap in the overall experience. Most important logging features like alerts, correlation, deep diving into an incident, and much more are not at all available. View more...Is There Life Without RTTI or How We Wrote Our Own dynamic_castAggregated on: 2022-10-22 15:13:31 There aren't many things left in modern C++ that don't fit the "Don't pay for what you don't use" paradigm. One of them is dynamic_cast. In this article, we'll find out what's wrong with it, and after that — try to find an alternative. About dynamic_cast Let's refresh our memory about the C++ basics. If you find that part boring, you can always skip it. View more...Understanding MQTT Topics and Wildcards by CaseAggregated on: 2022-10-22 15:13:31 An MQTT topic is a UTF-8 encoded string that is the basis for message routing in the MQTT protocol. A topic is typically leveled and separated with a slash / between the levels. This is similar to URL paths, for example: Plain Text chat/room/1 sensor/10/temperature sensor/+/temperature sensor/# In comparison to topics in other messaging systems, for example, Kafka and Pulsar, MQTT topics are not to be created in advance. The client creates the topic when subscribing or publishing, and does not need to delete the topic. View more...JavaOne 2022: Java Continues to EvolveAggregated on: 2022-10-22 14:43:31 I met with Georges Saab, Senior Vice President, Java Platform Group, Oracle Chair, OpenJDK Governing Board following his keynote at JavaOne. This was the first JavaOne conference since 2017 and was held in conjunction with Oracle Cloud World. Java has been around for 27 years. It continues to be an important language for enterprises and developers. It's the preferred language for technology trends in development and organizational use. There are 60 billion active JVMs and 38 billion cloud-based JVMs. View more...Advanced Guide to Helm Charts for Package Management in KubernetesAggregated on: 2022-10-22 14:28:31 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report Helm is undoubtedly one of the most popular and successful open-source projects in the Kubernetes ecosystem. Since it was introduced at the inaugural KubeCon in 2015, Helm's usage has steadily grown to solidify its status as the de facto package manager for Kubernetes. It graduated from the Cloud Native Computing Foundation in 2020, and in the CNCF Survey 2020, more than 60% of the survey respondents reported Helm as their preferred method for packaging Kubernetes applications. This rates significantly higher than Kustomize and other managed Kubernetes offerings. View more...Scaling… to K8s MessAggregated on: 2022-10-22 01:28:31 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report View more...Advancements in Cloud-Native and Kubernetes ObservabilityAggregated on: 2022-10-21 12:13:30 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report In today's world, it's more important than ever to have visibility into your system's performance and health. Modern applications rely on complex microservices architectures and cloud-native technologies, like Kubernetes. Observability helps us understand not just application behavior, but also infrastructure configuration changes and dependencies, as they happen in real-time. View more...Writing an API Wrapper in GolangAggregated on: 2022-10-21 03:43:30 I had a really time-limited effort to do to prove how to write a command line wrapper for an open API a customer is developing. The target REST API is the jquants-api, as presented in a previous article. View more...iOS Meets IoT: Five Steps to Building Connected Device Apps for AppleAggregated on: 2022-10-21 03:28:30 Smartphones continue to evolve the functionality of connected devices. Mobile apps now serve as the principal means of device control in the Internet of Things (IoT). Instead of hardwired screens and buttons, today’s developers are offloading the vast majority of user interfaces to our handheld companions. In this way, app developers must ensure their designs are user-friendly and technically sound. And, with more than one billion of them around the world, this means developers need to consider the ins and outs of the iPhone. Apple’s flagship device counts a unique operating system — iOS — that should not be ignored in app rollouts. View more...Why Passkeys Are Better Than PasswordsAggregated on: 2022-10-21 02:43:30 Maybe you’ve had the feeling — or maybe you’ve imagined it. The feeling of your stomach sinking to the bottom of your belly. That panic you feel the very second you realize that you just entered your login credentials into a fake website. Maybe you realized it right away. Or maybe you realized because you went back the next day and couldn’t log in. Maybe you realized it because your bank account has been cleaned out. However you realized — or imagined — it, it’s not a feeling you ever want to have. But imagine not having to worry about that ever again. View more...The Art of Engineering ManagementAggregated on: 2022-10-21 02:28:30 Engineering teams are the core of every software development company. For some, establishing an engineering team may seem a challenge but for many keeping a motivational and collaborative atmosphere is a desired goal for the long term. I had a chance to interview one of the successful CEOs of a new startup who has been successful in engineering management. He is going to share with us the secret behind his management style. My guest this week in the Proof Of Concept was Thomas Hansen, founder of Aista, who has experience in software development for over two decades. He is an exceptional founder who is developing his platform while managing his team and growing his startup. It's a fantastic talk, and I invite you to watch it. View more...The Importance of Kubernetes in the Cloud-Native EcosystemAggregated on: 2022-10-21 01:28:30 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report If you are a developer or an engineer working in the software industry, then you have undoubtedly noticed the complexity of managing resources across different services and applications. This is especially true when your company has scaled beyond a single data center or environment. With so many stakeholders involved in various projects, it becomes difficult for everyone to keep track of where everything stands at any given time. This is where Kubernetes comes into the picture. View more...gRPC Introduction and Implementation Using .NET Core 6Aggregated on: 2022-10-21 00:13:30 Prerequisites "Visual Studio 2022" Basic Knowledge of C# Agenda Introduction of gRPC Scenarios Where gRPC is Used Pros and Cons of gRPC Implementation of gRPC Introduction gRPC stands for Google Remote Procedure Calls. gRPC is a modern, open-source, high-performance remote procedure call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking, and authentication. It is also applicable in the last mile of distributed computing to connect devices, mobile applications, and browsers to back-end services. — gRPC Website Figure From grpc.io gRPC is the framework used to implement APIs using HTTP/2. gRPC uses protocol buffers (protobuf) for serialization and the HTTP/2 protocol, which provides more advantages than HTTP. gRPC clients and servers intercommunicate using a variety of environments and machines. It also supports many languages like Java, C#, Go, Ruby, and Python. The binary layer of gRPC will do all data operations like encoding and uses protobuf as an intermediator between client and server, improving performance. It is also used for communication between multiple microservices efficiently. Scenarios Where gRPC Is Used When we use microservice architecture, we use it for internal communication from one or more servers. When performance is a high priority and low latency. When we require duplex communication between services with different types of data. Pros and Cons of gRPC gRPC Pros High performance—faster than REST and SOAP Lightweight messages—gRPC messages are more lightweight than other types like JSON. Higher efficiency Duplex data streaming gRPC Cons Limited browser support Uses binary data because it’s not easily readable like JSON or XML. Implementation of gRPC Step 1 Create a new gRPC project View more...Node.js Unit Testing Automation With Drone CI Using Mocha FrameworkAggregated on: 2022-10-20 23:43:30 Unit testing is an essential practice of any software development lifecycle and can’t be avoided. In today’s modern cloud-native space, automating the testing part is in high demand with so many available platforms and tools. This automation of testing can be done through the continuous integration process. Continuous integration forms an essential method in the DevOps wonderland. It is a process that helps developers test and build their code to make sure nothing is breaking and can be confidently integrated into the main branch with a simple approval by an approver. The continuous integration process can be seamlessly automated with Drone CI to test, build, and give confidence to your developers. With continuous integration, developers can save a lot of time on manual testing and focus their valuable time on building rich features that their customers need. Today, we will see how to do continuous integration using Drone CI, taking a simple Node.js application and Mocha as our unit testing framework. Prerequisites Download and install Node.js from the official website View more...Why Is the Flutter Framework Better Than React Native?Aggregated on: 2022-10-20 22:13:30 Flutter is a new framework for developing mobile apps that promise to be faster and more efficient than React Native. But what exactly is Flutter, and how does it compare to React Native? Flutter is a mobile app SDK that allows developers to create high-quality native apps for both iOS and Android. Flutter uses the Dart programming language, which is similar to JavaScript, but with some important differences. View more...What Is BDD? - A Complete GuideAggregated on: 2022-10-20 21:13:30 Behavior Driven Development, or BDD for short, is a subset of the values outlined by Test Driven Development. We create the object correctly when using test-driven development. Contrarily, behaviour-driven development makes sure we create the right object. Essentially, TDD is extended by behaviour-driven development. Using Cucumber and SpecFlow in a BDD testing framework enables non-technical product owners to specify application behaviour as human-readable text. View more...Building a NestJS Rest API Using Prisma ORMAggregated on: 2022-10-20 20:28:30 NestJS is a pretty solid framework for building backend applications. In this post, we are going to take our NestJS knowledge and combine it with Prisma to build a RESTful API. This post is going to have a bunch of code that you can get from the Github link at the end or you can also code along. View more...Kubernetes: Beyond Container OrchestrationAggregated on: 2022-10-20 19:28:30 This is an article from DZone's 2022 Kubernetes in the Enterprise Trend Report.For more: Read the Report Kubernetes today is the most prominent and prevailing container orchestration engine. Kubernetes became central to cloud-native computing because it is open source and has a rapidly growing ecosystem. If we observe its evolution and adoption trend in the last few years, especially around the cloud-native world, it is more than "just" a container orchestration tool. It has outgrown being a container orchestration engine and is now a frontline building block of a next-generation cloud-native ecosystem. View more...Data Streaming for Data Ingestion Into the Data Warehouse and Data LakeAggregated on: 2022-10-20 18:28:30 The concepts and architectures of a data warehouse, a data lake, and data streaming are complementary to solving business problems. Storing data at rest for reporting and analytics requires different capabilities and SLAs than continuously processing data in motion for real-time workloads. Many open-source frameworks, commercial products, and SaaS cloud services exist. Unfortunately, the underlying technologies are often misunderstood and overused for monolithic and inflexible architectures, and vendors pitch for the wrong use cases. Let’s explore this dilemma in a blog series. Learn how to build a modern data stack with cloud-native technologies. Blog Series: Data Warehouse vs. Data Lake vs. Data Streaming This blog series explores concepts, features, and trade-offs of a modern data stack using a data warehouse, data lake, and data streaming together: View more...Great Time at JavaZone 2022Aggregated on: 2022-10-20 16:58:30 I had a pretty awful travel experience trying to reach Oslo, but it’s all worth it for what is possibly my favorite conference: JavaZone. I absolutely love this conference. It has everything: Sense of humor, craziness, heavy metal, continuous integration of food and amazing talks with great people. This years conference has a fantasy theme which fits into the "weirdness" of the conference. Notice that when I say "weird" this is one of the highest complements I can give a conference. I a world of cookie cutter conferences JavaZone is unique in every way. See this opening scene in the morning of the first day... </div> View more...Exceptions in LambdasAggregated on: 2022-10-20 15:43:30 Java introduced the concept of checked exceptions. The idea of forcing developers to manage exceptions was revolutionary compared to the earlier approaches. Nowadays, Java remains the only widespread language to offer checked exceptions. For example, every exception in Kotlin is unchecked. View more...How to Use SuperTokens in a VueJS App With Your Own UIAggregated on: 2022-10-20 14:43:30 This post will guide you on how to add authentication to a VueJS app with SuperTokens using your own UI. We will be building our own authentication forms and will be using supertokens-web-js to make those forms work. What Is SuperTokens? SuperTokens is an open-source project that lets you quickly add authentication to your app. It offers various authentication methods (called recipes). View more...Using Global Cloud Load Balancer to Route User Requests to App InstancesAggregated on: 2022-10-20 03:28:30 Ahoy, Mateys! In my last two articles, I showed you how to deploy microservice instances across several cloud regions and how to set up a geo-distributed API layer. View more...Using OAuth in API Integrations With Python, REST, and HL7 FHIRAggregated on: 2022-10-20 00:43:30 OAuth is often employed in processes requiring permissions to be granted to front-end applications and end users. Yet what we typically need in API systems integrations is a way to secure connections between the integration middleware and backend systems without a need for any ongoing human interactions. OAuth can be a good choice for that scenario. This article shows how it can be achieved in Python with backend systems using REST and HL7 FHIR. View more...How To Integrate Grafana in Our Internal Tools/Admin Panels Using AuthProxyAggregated on: 2022-10-19 23:13:30 Grafana is an amazing charting tool, as it can provide beautiful charts and visualization for data. Integrating Grafana charts with internal tools can unlock great potential. Internal tools are custom dashboards, admin panels, and CRUD apps that enable teams to automate processes. Grafana comes with built-in authentication. To view its dashboard, the user has to go through its login screen. View more...IBM App Connect OperatorsAggregated on: 2022-10-19 20:13:30 If you’re relatively new to Kubernetes, or not entirely sure what an Operator is, and why IBM created one for IBM App Connect, this post is for you. You do not have to use the Operator to use IBM App Connect in containers. However, we aim to show how the Operator significantly simplifies Kubernetes deployment. View more...Data Modeling in Cassandra and Astra DBAggregated on: 2022-10-19 19:28:30 What does it take to build an efficient and sound data model for Apache Cassandra and DataStax Astra DB? Where would one start? Are there any data modeling rules to follow? Can it be done consistently time and time again? The answers to these and many other questions can be found in the Cassandra data modeling methodology. In this post, we present a high-level overview of the data modeling methodology for Cassandra and Astra DB, and share over half a dozen complete data modeling examples from various real-life domains. We apply the methodology to create Cassandra and Astra DB data models for IoT, messaging data, digital library, investment portfolio, time series, shopping cart, and order management. We even provide our datasets and queries for you to try. View more...Balancing Technical Debt and Feature Development With Service Level ObjectivesAggregated on: 2022-10-19 19:28:30 If we ask for a simple explanation of tech debt and the cause of it, generally, we hear something along the lines of: Tech debt is redoing or refactoring your team's work in a less-than-ideal way. View more...Trick the JVM for Maximum Performance With Megamorphic Call SitesAggregated on: 2022-10-19 18:58:30 The JVM does great stuff to let our Java applications run the fastest way possible. Most of the time, you don't have to care about the internals, but if you really need to get the best performance, you need to take into account how JVM works. It's not the goal of this article to give a detailed introduction to this topic but merely to show how our design can impact performance and how you can work around some issues which arise. An important aspect of performance optimization is inlining, i.e. the JIT replaces a method call with the code that will be executed by the method. For that to work, the method must be short, and it must be clear what the method is called. This is unfortunately not trivial as basically all methods can be overloaded, so the JVM does some run-time analysis and then makes some predictions. It basically distinguishes between monomorphic call sites, which always call the same method; bimorphic ones, which are optimized for two different targets; and call sites calling with more than two targets, which are called megamorphic, where fewer optimizations are applied. This analysis and the resulting optimization are done for each call site individually. View more... |
|
|