Articles


This is an article from DZone’s 2021 Kubernetes and the Enterprise Trend Report.

For more:

Read the Report

In the modern technology landscape, Kubernetes is a widely adopted platform that enables organizations to deploy and manage applications at scale. The container orchestration platform simplifies infrastructure provisioning for microservice-based applications, which empowers efficient workload management through modularity. Kubernetes supports various deployment resources to help implement CI/CD pipelines using updates and versioning. While Kubernetes offers rolling updates as the default deployment strategy, several use cases require a non-conventional approach to deploying or updating cluster services. 

Source de l’article sur DZONE


Introduction

In this article, you will learn how to use Spring Boot and HarperDB to create a microservice. Later on, you will also look at how to deploy the complete application on AWS Elastic Beanstalk.

You will be building an Employee Leave Management System. This application will be responsible for tracking the detailed record of employees’ leaves. You will also be implementing the functionality to add, edit, and cancel leaves.

Source de l’article sur DZONE

Few things are more important to a web designer or developer’s chances of success than having the proper workflow. The term “workflow” applies to the set of standardized steps you or your company uses to create, test, and deploy designs or products.

Over the years, as development processes have evolved, so too have the workflows experts use to bring their ideas to life. The MVP workflow, or “Minimum Viable Product” strategy, is one of the most popular options in 2022.

Here’s what you need to know about the MVP workflow and how it differs from some of the other standard workflows developers may be used to.

What is the Designer/Developer Workflow?

As mentioned above, the designer/developer workflow is a series of steps used by experts in the web design world to achieve a creative goal. The process includes the steps taken to start a project, evolve it, and finish it. Since software is never developed without tools, the technology you’ll access throughout the development process is also considered in most workflows.

An example of a standard development workflow might look like this:

  • Scaffolding: This is the stage wherein you start your new web project, creating a git repo, downloading libraries, preparing file structures, and completing other tasks to make sure your product is ready to roll out into the world.
  • Develop: This is where you’ll spend most of your time writing code for your application or website. The development process may include various specific tools and support from other staff members.
  • Test: In this stage, you examine the functionality of your code to determine if everything works as it should. If there are errors or issues, you can go back and develop fixes to the potential problems. Your code may go through the development/test process several times before you can move to the next stage.
  • Integrate: This is when you merge the code for your part of the development process with the rest of the team. You can also integrate your code into websites and existing apps at this point. If you’re working solo, you can skip this process.
  • Optimize: You prepare all your assets for use on a production server during the optimization stage. Files are generally optimized to ensure your visitors can view your site easily or access your applications with ease.
  • Deploy: In the deployment stage, developers push code and assets up into the server and allow for changes to be viewed by the public.

What is MVP? (Minimum Viable Product)

Now you know what a developer workflow looks like, you can begin to assess the concept of the “MVP” workflow. The term “MVP” stands for Minimum Viable Product.

The idea of “Minimum Viable Product” applies to a range of industries, from education to healthcare and government entities. This term comes from lean start-up practices and focuses heavily on the value of learning and changing during the development process.

When you adapt your workflow to focus on an MVP, you’re essentially adjusting your focus to a point where you can create a stripped-back version of something new – like an app or a website. The MVP is built just with the core features (the minimum), so you can bring the idea to market and test it as quickly as possible.

For instance, if your goal were to create an attractive new website for a client, an MVP would focus on implementing the crucial initial tools, and nothing else. While you may create checkout pages, product pages, and other aspects of the site, you wouldn’t populate it with content or start experimenting with bonus widgets and apps.

So, how does this offer a better alternative to the standard workflow?

Simply put, an MVP workflow is quick, agile, and easy. The idea is you can validate key concepts with speed, fail quickly, and learn just as fast. Rather than having to build an entire app and almost start over from scratch every time you find an error, you can race through the iteration and development process.

MVP workflows are also highly appealing to start-ups and entrepreneurs hoping to validate ideas without a massive amount of upfront investment.

Examples of MVP Workflows

Still confused? The easiest way to understand how an MVP workflow works is to look at an example.

Let’s start with a conceptual example. Say you were building a voice transcription service for businesses. The desired features of this product might include the ability to download transcription, translate them into different languages, and integrate them into AI analytics tools.

However, using the MVP approach, you wouldn’t try to accomplish all of your goals with your software at once. Instead, you’d focus on something simple first – like the ability to download the transcripts. Once you confirm you can do that, you can start a new workflow for the next most important feature for the app.

One excellent example of a company with an MVP approach is Airbnb. The entrepreneurs behind this unicorn company, Joe Gebbia and Brian Chesky, didn’t have a lot of cash to build a business with at first. They had to use their own apartment to validate the idea of creating a website where people could share their available “space” in a home or apartment with the public.

To begin, Airbnb only created a very basic website, published photos of their property, and waited to see the results. After discovering people were genuinely interested in renting another person’s home, the company was able to begin experimenting with new ideas to make a site where people could list their properties for travelers.

The Pros and Cons of an MVP Workflow

There are a lot of benefits to the MVP workflow – particularly when it comes to gaining agility and developing new products quickly. However, there are downsides too.

Pros

  • With an MVP approach, you can maximize your learning opportunities and create a more innovative, successful product at speed. You get to test every step of the way.
  • You release iterations or versions of your product quickly, which means you discover problems faster, allowing you to quickly solve these issues.
  • You build on the benefits of customer fans, “evangelists” in the marketplace who are keen to help your product or service grow.
  • An MVP gives you more freedom to try out unique ideas and “risks” you might otherwise avoid with a traditional workflow.
  • Because you’re focusing on creating only the “minimum viable product,” you don’t have to spend a fortune on initially setting up your workflows.

Cons

  • Agile work with an MVP flow requires a lot of effort in collecting constant feedback from customers and releasing iterations.
  • You’ll need to dedicate yourself to releasing many small and frequent product releases on a tight schedule.
  • You might have to revise the functionality of your product or app a number of times.

Creating Your MVP Workflow

If you believe an MVP workflow might be effective for you, the first step is defining your “Minimum Viable Product.” The app, website, or product you design needs to align with your team’s strategic goals, so think about what your company is trying to achieve at this moment – before you get started. If you have limited resources, or specific purposes, like improving your reputation as a reliable company, now might not be the right time to develop a new MVP.

Ask what purpose your minimum viable product will serve and what kind of market you’re going to be targeting. You’ll need to know your target customer to help you test the quality and performance of each iteration of your MVP. Once you know what your ideal “product” is, ask yourself what the most important features will be.

You can base these decisions on things like:

  • User research
  • Competitive analysis
  • Feedback from your audience

For example, if you’re producing an AI chatbot that helps companies to sort through customer inquiries, the most important “initial feature” may be the ability to integrate that bot into existing websites and apps owned by the company.

MVP Approach Guidelines

Once you have your hierarchy of most valuable features for your minimum viable product, you can translate this into an action plan for development. Remember, although you’re focusing on the “minimum” in development, your product still needs to be “viable.” In other words, it still needs to allow your customer to achieve a specific goal.

  • Review your features: Reviewing your prioritized product requirements and the minimum level of functionality you can deliver with each of these “features.” You need to ensure you’re still providing value to your customer with anything you produce.
  • Build your solution: Build your minimum set of features for the product or service. Remember to build only what is required. You can use methodologies like the agile or waterfall method to help guide your team during this process.
  • Validate your solution: Release your offering into the market, and ensure you have tools in place to gather feedback from early adopters. Use beta programs, focus groups, and market interviews to understand how your solution works for your customers and where you can improve on your current offer.
  • Release new iterations: Based on what you learn from your target audience, release improvements to your product quickly. Use your validation strategies to collect information from your audience with each release.
  • Review again: Go back to your product requirements and desired features and start the process over again, this time focusing on the next most valuable functionality. Over time, the value of your minimum viable product will increase.

Using the MVP Workflow Approach

While the MVP workflow approach might not be the right solution for every development or design team, it can work very effectively in the right circumstances. The MVP approach doesn’t minimize the importance of understanding market problems and delivering value. Instead, the focus is on delivering quick value that gradually increases and evolves over time.

As many developers and designers know, the most useful form of product validation in most cases is real-world validation. When your customers have had an opportunity to use a product on a day-to-day basis, they can provide much more effective feedback.

Just keep in mind that committing to the MVP approach also means changing your workflow and committing to iterations – otherwise, other features may never be completed. You’ll need to be willing to work quickly and in small bursts without getting too heavily caught up in one feature or functionality.

 

Featured image via Pexels.

Source

The post How to Get Started with the MVP Workflow first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

In the first part of this series, we have seen all the pre-requisites that are needed to proceed with the hands-on. We will extend the EdgeX Foundry tutorial by Jonas Werner and deploy the EdgeX Foundry services on K3s. We have already learned that K3s will be a good lightweight solution to manage and orchestrate the EdgeX microservices. We will use the Geneva version of EdgeX Foundry.

The scope of this post is to demonstrate an Edge use case that will consume the sensor data e.g. ambient temperature. This sensor data will then be processed by EdgeXFoundry services hosted on K3s. This sensor data will be pushed to a cloud-based MQTT broker called HiveMQ. From here, the data can be stored and processed in the cloud. The configurations and manifests used in these posts are available in this repository.

Source de l’article sur DZONE

Many websites today use some type of traditional Content Delivery Network (CDN), which means improvements in website load times, decreases in bandwidth, and better redundancy and security. But not everything is optimized, specifically when it comes to images, and image CDNs can help with that! 

Traditional vs. Image CDNs

A traditional CDN treats images as static. If you want to tailor images to better match various mobile device types, then you need to create many variants of each image and upload them to your web server. It also means you must develop responsive code that will tell the server and CDN which image variant to deliver. This is clunky, time-consuming, and inefficient. For a large website, the amount of code needed can be astronomical. Using this static image model, there’s just no realistic way for each image to be effectively sized and compressed for every possible device model – at this point, there are thousands of them. The combination of these two unfortunate factors leads to potentially slow load times and poor UX caused by oversized images delivered to mobile devices.

So what is an image CDN? An image CDN builds on the traditional CDN model with the addition of device detection and image optimization. Instant detection of the device model and browser requesting the images is done right at the device-aware edge server (true edge computing!) Additional information, including screen resolution and dimension, pixels per inch, and support for next-gen image formats (such as WebP, JPEG 2000/JP2, and AVIF), provides even more details crucial for superior image optimization. Using this information derived from device-aware edge servers, the image CDN optimizes each image and serves the perfect version for each device and resolution, meaning users get the finest webpage experience faster.

A Bit About the Edge (Whoa, Living on the Edge?)

With a single server website, a web request would have to travel from the requestor, back to the origin server (wherever that was geographically located), be processed, and then travel back to the requestor. Depending on the physical distance between the requestor and the origin server, this could introduce a great deal of latency, which means lag time on page loads. 

A traditional content delivery network (CDN) is a global network of servers that optimizes web performance by using the node geographically closest to the user for faster delivery of assets. It takes static content like images and stores them on the edge. But usually, these edge servers are relatively simple in terms of their role in business processes. They mostly index, cache, and deliver content. And traditional CDNs like to keep edge servers simple because of concerns over CPU usage, storage, and scalability.

But what if these edge servers could also provide computing power that enhances performance and business processes? This is called edge computing. Slowly, CDNs are starting to open their edge servers to allow enterprises to deploy apps/services on the edge. Likewise, Cloud computing networks (e.g., AWS, Azure, Google Cloud) provide virtualized server capacity around the world for those who want to use geographically distributed servers. In a sense, Edge Computing is a marriage of the CDN (where edge servers synchronize/work with each other) and Cloud computing (where servers are open to applications). 

Edge computing is a fascinating concept, but what is the killer app that will enhance business processes and improve website performance? The addition of device detection to edge computing provides the ability to transform from delivery of static images to a new model where images are dynamic and tailored exactly to devices. 

Edge computing is computing that is done in a geographically distributed space, with many servers located at or near the source of the web request. This reduction in bandwidth and latency leads to fast processing times, increased site speed, and improved customer experience. And edge computing doesn’t require new infrastructure — it leverages the networks of existing providers to create Points of Presence (POP) around the globe. 

The Edge Servers are…Aware?

Device-aware edge servers, like those used by the ImageEngine image CDN, take edge computing to a new level. Device detection is actually one of the use cases where edge computing really shines. Normally, the edge server would have to send a Javascript query to the device to figure out any information about a requesting device’s model, browser, operating system. But with a device-aware edge server, the User Agent string is captured and decoded. This contains all of the information necessary for device detection without the need for any back and forth – a definite speed improvement. So you’re starting ahead of the game! 

Each time a new request comes to the device-aware edge server, the image is processed by that server (meaning optimized for that specific device parameters) and stored right there in cache, primed for future use. This is done in three stages: changing image size based on device resolution, compressing the image using an image optimization tool, and selecting the most efficient file format for the device. 

If the device-aware edge server has already processed a request from a similar device model before, then it can serve the device-optimized image from its edge cache, leading to a lightning-fast server response — and ImageEngine’s device-aware edge servers can serve up cached images 98% of the time! Not only is there geographical proximity because of the distributed global POP network, but the smaller size of the optimized image compared to the full-sized original cuts up to 80% off the image payload. This can cut up to several seconds off page load times. When almost 70% of people say that page speed influences their likelihood of making a purchase, every single second counts! 

Some image CDNs detect the device information and group the devices into “buckets” of similar types and serve an image based on that type. While this is certainly an advancement over a traditional CDN, and works passably well for some common devices, it still isn’t a truly optimal solution. There are so many variants of browser, screen size,  resolution, etc., even among very similar devices, that images are still often oversized (too large payloads) and lead to poor load speed. A true image CDN, such as ImageEngine, serves the perfect image for every device, every time.

So Now You Want To Get Started (Don’t Worry, It’s Really Simple)

One of the best things about the ImageEngine image CDN is the ease of integration – and it can integrate into any platform that supports a 3rd-party CDN. All you need is to sign up for an account and receive a delivery address during your two (yes, 2!) minute signup process. This delivery address is used to redirect image traffic for optimization and superior delivery performance. Next, you’ll have to make some slight adjustments to img tags on your website, but that’s really all the work you’ll need to do. There are no DNS changes during a standard (generic delivery address) integration. You read that right, none at all. Contrast that to a traditional CDN integration, where there is just no way around some messing around in the DNS – in fact, usually some fairly extensive DNS changes. 

This low-code, virtually no code, integration saves you time. It saves you money. It saves you the hassle of putting multiple team members on a new project. And it means that you can be up and running in about 15 minutes with a standard install. You can be serving optimized images to your site visitors at blazing fast speeds before lunch! And don’t worry, ImageEngine has an experienced integration support team available to answer any questions you might have. 

There’s also no issue with adding the ImageEngine image CDN on top of an existing CDN. Traditional CDNs may have security features that you may prefer to keep for your site. It requires slightly more integration but provides the same benefits of a solo ImageEngine implementation — screaming fast image load times and perfectly optimized images from device-aware edge servers. All that is recommended is that the ImageEngine image CDN actually serve the images directly, not simply process them, to get maximum benefits.

Adopt an Image CDN and See The Benefits

We’ve learned that image CDNs bring numerous benefits to your site AND your business. Using device-aware edge servers, image CDNs provide measurably better UX to your visitors. Pages load potentially seconds faster with perfectly optimized images, meaning your customers get to the heart of your message right away, and you don’t lose potential sales. 

Image CDNs are actually 30%+ faster than most traditional CDNs, improving site speed accordingly. From an SEO perspective, that’s huge! And your SEO gets an additional boost from the improvement to your Largest Contentful Paint scores (which can help you gain valuable rank on Google’s SERPs). Implementation is simple and fast. You get all this, plus cost savings: since you have smaller payloads because of the fully optimized images, you’re delivering fewer gigabytes of data.

Source

The post Image CDNs: How Edge Computing Provides a Faster Low Code Image Solution first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot


Learn how to set up a GPU-enabled virtual server instance (VSI) on a Virtual Private Cloud (VPC) and deploy RAPIDS using IBM Schematics.

The GPU-enabled family of profiles provides on-demand, cost-effective access to NVIDIA GPUs. GPUs help to accelerate the processing time required for compute-intensive workloads, such as artificial intelligence (AI), machine learning, inferencing, and more. To use the GPUs, you need the appropriate toolchain – such as CUDA (an acronym for Compute Unified Device Architecture) – ready.

Let’s start with a simple question.

Source de l’article sur DZONE

If you and your team are dealing with tools like Git or Subversion, you may need an administrative layer where you are able to manage user access and repositories in a comfortable way, because source control management systems (SCM) don’t bring this functionality out of the box.

Perhaps you are already familiar with popular management solutions like GitHub, GitBlit or GitLab. The main reason for their success is their huge functionality. And of course, if you plan to create your own build and deploy pipeline with an automation server like Jenkins you will need to host your own repository manager too.

Source de l’article sur DZONE

As cloud computing continues exponential growth and adoption, numerous deployment strategies and models have emerged to meet the increasing demand and diverse needs of cloud users. PaaS (platform as a service) is a cloud computing model that allows you to develop, run, deploy, and launch applications and services over the internet without the constraints, complexity, and cost of building and managing the underlying cloud infrastructure—including storage, operating systems, servers, networks, and more.

PaaS provides the fundamental benefits of cloud computing—from turnkey provisioning and disaster recovery to on-demand scalability and transparent pricing—all consistently managed. And, PaaS vendors provide developers with the tools and infrastructure to run needed programming languages and technology stacks.

Source de l’article sur DZONE

 Businesses are quickly acknowledging the importance of Conversational AI (CAI) to increase their customer engagement and revenues. The question is no longer whether to deploy CAI, but rather which platform to use and how to leverage its capabilities. 

In this series, see some insight on important aspects of a conversational AI platform that buyers often overlook. For example, what does language support really mean? What is localization? How do different deployment models impact the TCO? And maybe most importantly – How can the CAI platform not only help me during the first development sprints – but across the entire bot lifecycle?

Source de l’article sur DZONE