I'm back with the rest of 5 simple ways to speed up a WordPress website.
So, grab your pen and paper and get ready to take notes.
As promised, I'll pin-point only easy tweaks that you can make to your website and boost its performance.
So, let's dive right in:
Add Page Caching via a WordPress Caching Plugin
How to Speed Up a WordPress Website: Minify Your CSS and JS Files
Clean Up Your Database
Switch to a (More) Lightweight Theme
Enable GZIP Compression, The Fastest WordPress Speed Optimization Technique
7. Add Page Caching: Use a WordPress Caching Plugin for That
Here's how caching improves your site-loading speed:
It creates – and stores on the server – static files for each page/post on your WordPress site. So, once a user accesses any of those pages, your website delivers the content much faster.
In short: by adding page caching, you speed up your WordPress website's response to search requests.
For this, you'll need to consider choosing an effective caching plugin for your website.
And you definitely don't run out of options there.
But if we were to make a very drastic selection, we can honestly say that you'll find the best plugin to speed up your WordPress site with on this shortlist:
W3 Total Cache (vetted by Neil Patel himself)
WP Fastest Cache
WP Super Cache
Cache Enabler
Tip! Pair your Wordpress cache plugin with a powerful caching mechanism like Varnish and you'll double your website's page loading speed.
8. How to Speed Up a WordPress Website: Minify Your CSS and JS Files
Another quick and easy way to reduce page load time on your Wordpress site is to minify your resources (aka CSS and JS files).
To cut down on the number of calls and on these files' sizes, as well.
How? You can either:
do some manual fixing, following the steps on the Google PageSpeed
or go with a plugin to streamline the whole process
9. Clean Up Your Database
Since WordPress is database-driven, it's crucial that you clean up your database of all the:
spam comments
old drafts
fake users
pingbacks
post revisions
tables
transient options
A measure that falls into the “reducing overhead” category, like the technique of removing all the unused plugins, that I've mentioned in Part 1.
This way, you keep the size of your database to a minimum. Which will minimize the size of your backups, as well.
And why do everything manually when there's at least one plugin for it? One that'll put the whole database clean up process on autopilot.
WP-Optimize, for instance.
Once enabled, it'll take you just a few clicks to delete most of your database build-up. Moreover, you can schedule it to remove residual content automatically.
10. Switch to a (More) Lightweight Theme
Now, you might wonder also:
“How do I speed up a WordPress website without a plugin?”
Going for the lightest WordPress theme is but one valid option.
In other words, resist the temptation of choosing a theme that “seduces” you with a parade of dynamic elements, social icons, sliders, widgets... glitz and glamour.
In most cases, these shiny elements translate into:
higher page sizes
a higher strain on the web server
Tip! Go for the most simple, lightest theme/template and build all the additional functionalities that you might need on top of that base.
When in doubt, choose one of the default WordPress themes!
Tip! If your WordPress site's a particularly feature-rich one, go with a theme that uses a robust framework like Foundation or Bootstrap.
11. Enable GZIP Compression, The Fastest WordPress Speed Optimization Technique
And this is the “simplest” technique, as well.
Just enable GZIP compression and start saving valuable bandwidth usage and reducing the page load time on your WordPress site.
Here's how it works:
GZIP compresses different files on your website, so that when a user tries to access it, his/her browser will first need to unzip the site.
This way, you bring down the bandwidth usage.
And, as you can guess, there's at least one plugin that enables GZIP compression. Take PageSpeed Ninja, for instance...
The END!
Our list of 11 simple ways that you can speed up a WordPress website ends here.
Struggling with low speed on your WordPress site? Do you need help implementing and adapting these optimization techniques to your own website?
We're here to help. Just drop us a line and let's put together an optimization battleplan for your site!
Image by deanmarston432 from Pixabay
Silviu Serdaru / May 13'2020
“How do I make my WordPress site faster?” you ask yourself. And let me guess: you want to address this challenge – how to speed up a WordPress website – the easiest way possible...
So, what you're looking for is some effective and universally applicable tweaks that you could make on your own website without much fuss, right?
You're in the right place, then...
For in this post (Part 1) I'll be listing and detailing 6 of the 11 simplest ways to make your WordPress site faster:
Use a CDN: Deliver Content from the Nearest Possible Server
How to Speed Up a WordPress Website: Compress Your Images
Minimize External Scripts
Upgrade to PHP 7 (At Least): A Simple WordPress Optimization Step to Take
Switch To a Better Hosting Provider (With a Dedicated Server)
Remove the Plugins that You Don't Need
So, let's dive in:
1. Use a CDN: Deliver Content from the Nearest Possible Server
Do you serve content to an international audience?
Then using a content delivery network is a must for you.
Here's precisely how it'll reduce the page load time on your WordPress site:
It serves your static files (e.g. your images) to your visitors based on their geographic locations.
In other words: if a user's located too far from where your website's hosted, a CDN will deliver the static content on your website from the data center nearest to him.
A CDN helps you keep the site-loading speed to a minimum when your website's accessed from different corners of the world.
All there's left for you to do is... a little digging.
See which are the most popular CDN services out there (Cloudflare, MaxCDN, KeyCDN, etc.) and evaluate their offerings against your specific feature needs.
And budget.
2. How to Speed Up a WordPress Website: Compress Your Images
More often than not the (too) large, high-resolution images are the “usual suspects”.
So, the no. 1 rule is to compress your images.
Or, better said: to optimize your image files – aka to reduce their size with no compromise on their quality.
And here you have 2 options:
you either compress them manually, in Photoshop, Chrome PageSpeed, or by using any other tool of your choice
or you just use a WordPress plugin: WP Smush, Optimole, EWWW Image Optimizer, etc.
3. Minimize External Scripts
Keep your font loaders, ads, and other external scripts to a minimum.
They're one of the main reasons why your WordPress website's loading so slowly.
4. Upgrade to PHP 7 (At Least): A Simple WordPress Optimization Step to Take
Because PHP 7 is significantly faster than its predecessors (e.g. PHP 5.6).
Here, again, you have 2 options:
you either upgrade the PHP version yourself
or you ask your hosting provider to give you a hand
Note! Needless to add that it's critical that you opt for a host that supports this version of PHP.
5. Switch To a Better Hosting Provider (With a Dedicated Server)
Hosting is the no.1 culprit for a WordPress website's poor performance.
And that because:
a badly configured web hosting server has a huge impact on your page load time
a shared hosting environment won't guarantee you decent loading times at high-traffic hours; your website's sharing the same server with many other sites...
So, if it's a shared hosting provider that your website's running on, consider this:
Unlimited emails, domains, bandwith and the many other features that a sharing hosting plan might “seduce” you with can't compensate for the... slow loading times and the clogging of RAM and CPU.
So, one of the best answers to your “How to speed up a WordPress website” dilemma is:
6. Remove the Plugins that You Don't Need
Want to make your WordPress faster? Start by decluttering your plugin collection.
Are there any plugins that you've... never used? Get rid of them!
Why? Let me give you just one example of how a heavy load of plugins can slow down your WordPress site:
The more plugins that you have there, the larger the size of your backup will get. And this will only put an unnecessary strain on your server with every backup file that's generated for these non-essential plugins.
You might want to consider replacing them with third-party services that serve the same purpose.
END of Part 1!
Has any of these 6 steps on how to speed up a WordPress website caught your attention?
Do you consider switching to a new hosting provider and you need some expert advice on which one to go with? Or maybe you're having trouble identifying the plugins that are unnecessarily bogging down your site?
We're here to help.
Whether it's just a recommendation of what CDN to use or putting together and implementing an entire optimization strategy for your WordPress site, just drop us a line.
And stay close for the second round of WordPress speed optimization tips in Part 2!
To be continued...
Image by PublicDomainPictures from Pixabay
Silviu Serdaru / May 07'2020
You want to enable your content editors to build new pages on their own. So, which drag and drop Drupal page builder do you choose?
Let me try and guess what's on your "wishlist":
to be super easy to use, with an intuitive front-end editing interface
to be light
to be compatible with your Drupal theme
to load fast
to provide a decent collection of ready-to-use designs
to be conveniently flexible
Have I guessed it right?
Now, which of these 2 popular editors for Drupal 8 — Gutenberg Editor and Cohesion DX8 — checks the most must-have features off your list?
Let's compare them:
1. Introducing: Acquia Cohesion DX8
“The only low-code platform for the design, build and management of Drupal 8 websites.” (Drupal.org)
A Drupal website builder that empowers you (your designers and content editors) to create all the visual aspects that make a website:
layout
theme
element styles
templates
components
And all that in the browser, via a highly visual drag-and-drop user interface...
With no need to write CSS, PHP or HTML.
Here's how it works:
Acquia Cohesion DX8 provides your editors with a library of branded (reusable) content components — sliders, tabbed elements, hero sections, banners, video players, feature panels
they select, mix and match, and assemble together the blocks of their choice
… and fill them in with content.
Tip: your non-technical editors can also edit, inline, those display components (block “templates”).
And voila:
A simplified way of building Drupal websites.
A component-based approach to building a Drupal site.
And during all this time, your development team can focus on building all those unique functionalities that you have in mind.
2. 5 Reasons Why You'd Want to Use Cohesion DX8
Now, let's talk... benefits.
What are the main advantages of choosing Acquia Cohesion as your Drupal page builder?
2.1. Your content editors can assemble new page layouts quick and easy.
And “quick” is the keyword here.
The non-developers in your marketing and other teams can assemble new web pages in no time:
They just drag and drop and arange different components available in the library, making them fit into the design pattern that you've already defined for them.
2.2. Your marketers are free to edit content & layouts right on the page.
Another strong benefit that you can reap from using this particular Drupal layout system is that your editors can easily modify content/layout right on the live website.
In other words, Acquia Cohesion DX8 provides them with an easy to use in-context editor.
This means that your content editors can open the page that they need to update and make any change in... seconds.
Tip: you get to set different levels of permissions and keep track of who's updated what on the website.
2.3. Your content editors can build and manage your website with no coding skills needed.
In other words, you'll turn your editors into... web designers.
Source: Dri.es
They need no coding skills, except for a low-level understanding of some general website concepts, to put together a new enterprise-grade Drupal website if needed.
2.4. You can replicate the newly created design on all your Drupal websites
Why would you opt for this low-code site builder?
Because it enables you to export and reuse the same style configuration and web design across your entire ecosystem of websites. To sync your brand styles across your whole network.
An easy way to control your brand across a multi-site structure.
And a guarantee that your non-developers, who are granted such “power”, will keep brand-compliant in their work.
2.5. Your non-technical teams can build uniquely designed and fully responsive websites
The non-developers in your team (content editors, designers with little coding knowledge) can easily put together custom layouts using this drag and drop page builder for Drupal.
Source: Acquia.com
Moreover, Acquia Cohesion DX8 makes it easy for them to preview their newly created layouts in multiple device aspect ratios.
3. What You Can Expect from Using this Drupal Page Builder
Let's say you've already found the answer to your “Gutenberg Editor vs Cohesion” dilemma: you've opted for Cohesion DX8.
Here's what you'll notice:
your team sets up and launches brand new Drupal websites faster now
the costs for developing new websites have lowered
all the Drupal 7 to Drupal 8 website migrations have been streamlined
keeping brand consistency across your multiple Drupal websites is no longer a challenge
your digital marketing and content authors are more confident to experiment with new content (since updating and reverting changes is so straightforward)
your senior developers gain more time to innovate; to focus on their own development tasks
4. What You Can Build with Cohesion DX
Let's see precisely what you can create using this page editor for Drupal:
full page content templates
master templates that your content editors can use to put together headers, navigation systems, footers...
menu templates, from basic list menus to interactive, multi-level ones
content components, which can then be assembled together into unique layouts
CSS styles
view templates for your blocks or page
page content layouts
5. Introducing: Drupal Gutenberg
The Gutenberg Drupal 8 module comes as an alternative to the body field editor in Drupal:
Editors can build a new page by assembling content blocks instead of writing text in a text body.
Source: Drupalgutenberg.com
A Drupal page builder that enables them to:
move blocks around the page, as needed
reuse uniquely designed contrib blocks across multiple pages on your Drupal site and even across multiple projects
select from the pre-built blocks — lists, paragraphs, tables — that Drupal Gutenberg provides them with
insert raw HTML in the form field
When it comes to the “user-friendliness” factor, Drupal Gutenberg “bids on” a highly visual editing experience, just like Cohesion DX8 does:
Any member of your team, regardless of his/her technical skills, can easily build a new page by putting together media, text, and content blocks.
6. 4 Reasons Why You'd Want to Use Drupal Gutenberg
“Why would I choose precisely Gutenberg as my page editor?”
Here are some compelling answers:
6.1. You empower your editors to build new landing pages on their own.
It's all about “democratizing publishing":
Drupal Gutenberg enables them to add, move around, and edit blocks quick and easy.
6.2. Your editors get a whole collection of custom blocks to choose from
That's right: Gutenberg Cloud library comes as a rich content repository for contributed blocks.
From:
call to action sections
to uniquely designed forms
to web components
... your content editors get a whole collection of blocks created by other developers to dig into when building new pages.
6.3. You grant your editors a flexible, visual editing experience.
One of Drupal Gutenberg's biggest selling points is its React-powered UI API.
The JavaScript type of “fuel” that makes the editing experience both flexible and powerful:
a scalable, high performant editor
that content creators can use with great ease; no technical background needed
Where do you add that they get “spoiled” with lots of pre-designed elements to choose from, as well.
6.4. You enable your editors to use and... reuse Drupal media assets.
Gutenberg's conveniently integrated with Drupal's media library.
This means that your marketing team can easily scan through and choose the media assets that they need to incorporate into their landing pages.
And even re-use them as many times as needed.
7. What You Can Expect from Using this Particular Drupal Page Builder
A more independent, empowered marketing department.
Which automatically translates into a more productive development team, as well.
8. What You Can Build with Drupal Gutenberg
“What are the most typical use cases for the Gutenberg editor?” you might ask yourself.
landing pages
text-heavy content types (e.g. blog posts)
designs that don't call for a lot of dynamic configurations
simple layouts
content structures and designs that blend in perfectly with your theme's looks
9. Final Word
“So, which Drupal page builder should I choose: Drupal Gutenberg or Cohesion DX8?”
It depends greatly on your feature needs and on your content team's skill level, as well.
For instance: do you value the convenience of replicating the same designs on all your websites (Cohesion) more than... having an entire library of contrib content blocks to select from (Gutenberg)?
Keep “confronting” the features of these 2 website builders and put them against your team's needs and experience, as well.
The END!
How flexible is the authoring experience for your own team?
Have you tried implemeting any of these page editors into your page building workflow?
Feel free to share your experience, good or bad, in the comments below.
Image by 200 Degrees from Pixabay
Silviu Serdaru / Apr 14'2020
Drupal Layout Builder vs Gutenberg: which of these 2 next-generation site-building tools to use to create your page layouts?
Or, better said, to empower your content editors to design great-looking pages on their own.
In order to help you make an informed decision, I've made an honest “Layout Builder modules vs Gutenberg editor module” comparison.
Therefore, in this post you'll find your answers to the following questions:
What issues with the editing experience in Drupal do these 2 new page layout builders come to address?
What is the Gutenberg Editor?
What are Drupal Gutenberg's main strengths?
What are its limitations? What is the Layout Builder for Drupal?
What are the Drupal Layout Builder's main strengths?
What are its weaknesses?
When would you use one Drupal page builder over the other?
1. Drupal Layout Builder vs Gutenberg: What Limitations Do They Address?
Or, to put it this way: what makes a good content editing experience?
Here are some of the editors' main requirements:
to be easy to use (with an intuitive drag and drop interface)
to enable them to create custom page layouts on the fly, with zero CSS or HTML knowledge
to be ideally flexible, enabling them to adjust the pages to their needs
Now, if we put editors' requirements against the "reality" of the editing experience in Drupal, here are the limitations we can identify:
it doesn't provide a decent level of visual design
it compromises branding for flexibility or the other way around
it requires some HTML experience
it doesn't go beyond the level of a basic WYSIWYG editor
it doesn't allow them to design fully customed page layouts
it doesn't provide a 100% intuitive user interface
it still makes editors dependant on the site builders/Drupal developers in their teams
And these are precisely the problems that these 2 Drupal page builders "promise" to solve.
2. Introducing: The Gutenberg Drupal 8 Module
The Gutenberg Editor module is no more than WordPress's layout system integrated with Drupal.
What sets it apart from the other tools for creating page layouts in Drupal?
Its block-based approach.
Creating content in Drupal becomes a matter of selecting and assembling multiple blocks.
Each block stands for an individual piece of content: a separate block for a button, another separate block for an image, another one for a column, for a heading...
Furthermore, you get to create content inline. To edit the media content, text, and blocks on the page that you're building.
In short, you can take the Drupal Gutenberg module as a convenient "block editor".
You (or your editors) can put together and visualize your page layout in one large form field. That, instead of editing every single form field that makes up a page.
3. 4 Reasons to Choose Drupal Gutenberg
Let's say that you're looking for a site building tool to build a... landing page (or one that would empower your content editors to create it).
Why would you go with the Gutenberg content editor for Drupal 8?
Here are 4 good reasons to choose it:
it provides you with lots of predesigned elements out of the box
you can see what you're building on the editor side
it doesn't require you to be experienced in working with CSS or HTML
you can design your own blocks or use blocks created by other open-source developers
4. 6 Reasons Why You Might Hesitate to Choose Gutenberg
Any honest Drupal Layout Builder vs Gutenberg comparison must include the 2 tools' main weaknesses, as well, right?
So, here's why you may want to think twice before choosing the Gutenberg content editor in Drupal 8:
the way it stores data could be... better
it doesn't excel when it comes to layout flexibility: you can align your blocks left, right, center, but you can't add custom margins, for instance
the style options that it provides are quite limited, one of the main drawbacks highlighted in any Gutenberg vs page builder comparison
updating a page created with Gutenberg is particularly overwhelming
the visual editing experience is not one of the best ones: visualizing your layout is a bit more difficult
you cannot reuse your Gutenberg blocks and the page layouts that you create with this editor
Tip: when it comes to the poor visual experience that you get with the Gutenberg Editor, you can always improve it with page builder plugins. There are some pretty good ones out there that guarantee you a 100% visual design.
5. Introducing: The Drupal Layout Builder Module (Core)
"Drupal 8's Layout Builder allows content editors and site builders to easily and quickly create visual layouts for displaying content. Users can customize how content is arranged on a single page, or across types of content, or even create custom landing pages with an easy to use drag-and-drop interface." (source: Drupal.org)
The Layout Builder for Drupal enables you to create layouts by putting together separate form fields and block entities. No coding know-how needed.
No need to tweak the templates in the theme's source code.
In short, it "spoils" you with a drag-and-drop type of visual editing experience. You can put together structured content quick and easy.
Source: Drupal.org
"But how exactly does it work?"
Here's how you create a custom layout with this Drupal page builder in 5 quick steps:
enable the module
go over to the "Manage Display" tab of your target content type
click the "Use Layout Builder" checkbox
click the "Manage Layout" button
then, you're free to use your Layouts and Blocks (after you've created them), dropping them in the defined regions of the page that you're building
6. 7 Reasons to Choose the Layout Builder in Drupal 8
Here's a legitimate question that this Gutenberg Editor vs Layout Builder in Drupal 8 comparison should respond to:
“Why would I want to use Drupal Layout Builder?”
The best answers would be:
you can create your content blocks and just drop them on the regions of your page layout
you get to (re)arrange otherwise static fields the way you want to
you're free to add views, blocks, widgets, to any section of your page
the content that you create is specific to that page type, so all the pages of that type will have the same layout
you get to override the default layout to create fully customed pages
your layout is rendered on the web page in real-time
you're free to incorporate blocks in the main content region
7. 5 Reasons Why You Might Hesitate to Choose the Layout Builder
When comparing Drupal Layout Builder vs Gutenberg, you inevitably get to the point where you ask yourself:
"What are the Layout Builder's main weaknesses?"
Now, here's why you wouldn't want to jump on it right away:
you can use it only on the main content area of your page
unlike the Gutenberg Drupal 8 module, the Layout Builder doesn't ship with prebuilt elements for you to just choose from and assemble
with Drupal Layout Builder, you need to create your blocks and page type first; you can't "get away with" choosing user-contributed blocks
it's not always easy to see what precisely gets overridden
you can't rely on a granular permissions system for overriding individual pages
8. When to Use Drupal Gutenberg: 4 Typical Use Cases
You'd want to use the Gutenberg Drupal 8 module if:
your Drupal website's a content-packed one
you need to build a landing page
you need to create a simple layout: Gutenberg doesn't really shine when it comes to style options
you need to create content that fits perfectly into your theme's looks: Drupal Gutenberg pulls right from your theme's styles
To sum up, designing landing pages are Gutenberg's most typical use case.
Use it to add just some extra design (nothing too "extravagant") to an "About Me" page, for instance.
9. When to Use the Drupal Layout Builder: 2 Typical Use Cases
You'd want to use the Layout Builder for Drupal if:
it's a field-intensive page that you're building: a product page, a case study, etc.
you have synced content on that page (from Salesforce, for instance)
The END!
Your turn now: have you tried any of these Drupal page builders?
Which one best serves your content goals?
What other pros and cons would you have added to this Drupal Layout Builder vs Gutenberg comparison?
Let us know in the comments below.
Photo by Jason Dent on Unsplash
Silviu Serdaru / Mar 25'2020
In this post, I'll share with you the top 10 rules of good UI design.
You will be learning:
What are the essential elements of a good UI design
What are the most common UI/UX mistakes that designers make
What are the UI best practices in 2020
Lots more UI design tips
Now, let's get started.
1. Aim at an Almost Invisible User Interface
What is a good UI design?
A logical structure & necessary visual elements only.
In other words, in order to design an almost invisible user interface you need to:
be “merciless” and keep the essential elements only
base your UI on a well-thought-out structure
use clear language in your text messages and on your labels
Source: Medium.com
A poorly structured and cluttered UI would only make the user ask questions like: “Where's the main menu?”
2. Keep It Consistent
And this is one of those good UI design principles that's overlooked or undermined most often.
Consistency should span over the entire ecosystem of elements that make up a UI design: fonts, colors, menus, buttons, icons.
Keeping a consistent UI throughout your website translates into creating patterns aimed at enhancing efficiency.
At improving the user experience.
And here I'm referring to layout, design, language patterns. Once the user gets familiar with a given pattern, it will be easier for him/her to interact with other parts of your website that present the same pattern.
3. Be Purposeful with Page Layout
One of the fundamental rules of good UI design is to structure your pages based on importance.
In this respect, here are the crucial principles of user interface design to guide your page layout creation:
take into account the spacial relationships between various elements on the page
place your UI elements strategically: draw users' attention to the most important information on the page and make it easy for them to scan it through
keep in mind that “form follows function”: design each item in accordance to its function (no need to reinvent the wheel and to turn the hamburger menu into a... sandwich menu, for instance)
stay away from clutter, at all cost: keep the visual elements on the page to a minimum
make smart use of headings, group similar elements together, add numbered items, as well, all in the name of readability
IMAGE Image by 200 Degrees from Pixabay
4. Use Color and Texture Strategically
Make smart use of color, texture, contrast, and light to direct the user's attention to key elements and important information on the screen.
5. Use Familiar UI Elements: One of the Key Rules of Good UI Design
One of the UI best practices that's both:
the easiest to implement
the most underestimated
And it all comes down to intuitive design. To sticking to common elements when creating your user interface.
Again, the hamburger menu makes the best example: once spotted, the user knows what it is and how to open it.
Restrain yourself from showing off your creativity as a web designer. From being "discouragingly" innovative. Form should follow function, remember?
Instead of impressing your users, you should help them get things done quickly and easily.
That's what delivering a good user experience is all about, after all.
6. Put the User in Control of the UI
Instilling a sense of control in the user is one of the most powerful UI design principles.
Source: xd.adobe.com
In this respect, here are some specific measures that you can implement:
6.1. Provide enough context
Ensure that the user knows, at each stage of his journey on your website, where he is, where he's been, and where he could go next.
Tip: place visual cues to help the user develop a sense of mastery and control.
6.2. Be transparent about the system status
Another one of those golden rules of good UI design:
Let the user know, at all times, what's the status of the process that he's initiated.
For instance, he/she might have started an action that requires some time for the computer to carry out.
In this case, make sure you provide feedback, at regular intervals, about the system status, about what's going on.
6.3. Make actions reversible
In other words, allow users to:
unselect
undo their last actions
restart whatever processes that they've engaged in
6.4. Design your UI with all user skill levels in mind
And this is one of the most obvious characteristics of a good UI design.
It's an easy to use interface for both casual and expert-level users.
6.5. Provide feedback on every user action
It's more than a good UI best practice: it's a matter of... good manners to provide at least some sort of feedback at each point of action.
Therefore, make sure your system delivers a meaningful reaction each time a user:
clicks on a menu
hits a button
clicks on a text message tab
Let the user know, using specific UI elements — animations, progress bars, pop-up windows, color change — whether he's successfully carried out the action or not.
7. Minimize Cognitive Load: Recognition over Recall
“Task-relevant information only” should be one of your key rules of good UI design.
And sticking to a limited number of elements within the display aligns with the very limits that the human attention, itself, imposes.
In this respect, it's human nature that your users prefer to recognize information across a sequence of screens rather than to strive and recall it from their memory.
For instance, our cognitive load is always lighter when we're challenged to answer multiple-choice questions compared to having to tackle short answer questions.
8. Stick to One Primary Action per Screen
And here, we go back to the “visual declutter” principle again:
Make sure that each screen supports just one single main action.
Squeezing too much information on the same screen and requesting the user to carry out more than one primary action will just:
confuse him/her
distract him
lead to attention overload
9. Use Typography to Create Visual Hierarchy
Most likely one of the easiest to follow rules of good UI design.
Strategically use different font sizes and display text to enhance:
readability
scanability
legibility
Photo by Alice Donovan Rouse on Unsplash
10. Stick to a Small Number of Gestures
Gesturing, swiping, tapping, pressing... no need to “squeeze” all these user actions into your app. Keep them to a minimum.
Tip: Facebook and WhatsApp make some good UI design examples; their interfaces require a limited number of user gestures.
Pro tip: make sure it's crystal clear to your users what gestures they need to perform in order to carry out certain actions on your interface.
Source: Medium.com
The END!
Now, I'm really curious to hear/read your thoughts:
How does your own list of must-follow rules of good UI design look like? Have I overlooked any key best practices?
Let me know in the comments below.
Image by FiveFlowersForFamilyFirst from Pixabay
Silviu Serdaru / Mar 17'2020
"Seduced" by the cross-platform approach? By the chance to build a single app project and run it on mobile, web and desktop? No wonder... But which hybrid app development framework should you choose?
What's the best one? The "best" one for your feature needs (and time resources) and for your development team's level of experience...
Now, let me guess: it should...
be feature-rich
be fast and to enable you to develop your hybrid app... fast, as well
be developer-friendly
provide native-like experience to your app's users
provide you with plenty of UI components to just... mix and match
We've narrowed your options in terms of hybrid mobile app development tools down to... 3.
But before you rush to evaluate each one's pros and cons:
put together a personal hierarchy: must-have vs nice-to-have features
get ready to set each of the following frameworks against that pyramid of needs
1. But What Is Hybrid App Development More Precisely?
In plain English:
The hybrid app development approach is building and running one app project across multiple platforms: Android, iOS, Windows...
Now, you do the math and figure it out yourself:
how much time you'd save
how many moments of frustration you'd avoid without all the native IDEs, SDK and Apple-specific requirements to get tangled up in
how much lighter the load of third party libraries would be
how convenient it is to have a unique list of bugs to keep an eye on
how convenient it is to adopt one dedicated technology approach instead of having to "juggle" with Java or Kotlin and with Swift or Objective-C...
One software development process (i.e a unique codebase) for all the platforms that you target...
2. Native vs Hybrid App Development
Still a bit confused about the clear differences between native and hybrid apps?
Let me shed some more light here:
While native apps are platform-specialized — Android or iOS — hybrid apps can be deployed on multiple platforms.
In this respect, a hybrid app development framework ships with both native and web-specific elements to help you quickly design and run your "one size fits all" type of app.
Also, when it comes to the key differences between native and hybrid apps, keep in mind that:
While native apps are faster, hybrid apps get built faster.
So, it's your convenience in terms of time and budget vs... the user experience.
3. What's the Best Hybrid App Development Framework for Your Project?
3.1. Ionic- A Feature-Rich, Easy to Use Technology for Building Your Hybrid Apps
"Which framework is best for hybrid app development?"
9 in 10 developers will say "Ionic".
Source: Ionicframework.com
It's the most familiar one, after all, since it's been on the "hybrid app development stage" for... quite a few years now.
Back then, when it was first released, it opened the door to a whole new world of possibilities:
to build and to deploy Angular-based apps that would challenge the jQuery mobile apps' "supremacy"
to put together a visually-striking, progressive web app in no time
With its low learning curve, "bulk" of available plugins and all the UI components that it provides out of the box, Ionic's predicted to keep its "rockstar" aura in 2020, as well.
You'd Want to Choose Ionic Because:
it provides you with a rich collection of powerful features
it's Angular-based: no need to learn a whole new language
it ships with plenty of UI components and predefined elements
it has a livereload system and app enabling you to preview your hybrid app right on your target device
it ships with an in-built development server
it provides you with debugging tools
it ships with a command-line interface (Ionic CLI) that streamlines the development cycle of your TypeScript and Node.js apps
it's backed by a large dev community
You'd Hesitate to Choose Ionic Because:
it doesn't provide hot reloading
it's not the best option if you're planning to build a heavy-duty app
some of its features are Cordova-based and hence not all the plugins are supported
you might find it too dependent on plugins
3.2. Flutter- Google's Toolkit for Creating Visually Stunning, Cross-Platform Apps
Is there any surprise why this is an increasingly popular hybrid app development framework?
It's Google's "prodigy" and everybody likes Google.
Although a newcomer in the "arena", Flutter stands a good chance to outshine the traditional hybrid mobile app development tools in 2020.
Source: flutter.dev
How? It already sets itself apart as a go-to choice when you need to craft a visually attractive and interactive MVP... fast.
With its flexible design components, you get to craft a stunning UI in no time. And its interactivity elements help you create the engaging experience that users expect.
In a nutshell: you get a power-packed toolkit to craft and to run a cross-platform app in no time.
Where do you add that it's designed to support multiple languages and to run smoothly across several platforms. And all that without the need to look for an alternative for Swift, Java or Objective C.
You'd Want to Choose Flutter Because:
it's blazing fast
it ships with its own widgets: you can easily implement buttons, sliders, switches, dialog boxes, tab bars, loading spinners
it's compatible with Fuchsia, Google's mobile OS
it provides you with CLI and VI editors
it ships with the hot reload feature
it enables you to assemble (and nest) multiple widgets for crafting your app's UI
You'd Hesitate to Choose Flutter Because:
it's Dart-based, so you need to learn a whole new language
it provides minimal support for some features
it lacks profile data completion
your Flutter app will be approx. 40% larger than a native app
3.3. React Native- Developers' Favorite One
And why do they love it?
because they enjoy working in Java and Swift (and they're already fluent in React)
because it provides them with native modules and components and thus enables them to "inject" top performance into their hybrid apps
because it enables them to provide users a native-like experience
It's Facebook's own version of a framework for building native-like apps.
Source: facebook.github.io/react-native/
If you're familiar with the React approach to software development, you'll love it.
You'd Want to Choose React Native Because:
it's high-powered: rendered with native code
you cut down costs by reusing code
it's backed by a huge community of developers that you can rely on
it grants you a shorter app development cycle
it features live reload with 2 different screens: to update your code and to preview those updates in real-time
it is Node.js supported
you can choose from a whole variety of social plugins: display grid picture, feed, etc.
You'd Hesitate to Choose React Native Because:
it's not the best technology for hybrid app development if it's an app with multiple UI transitions, plenty of interactions and various screens that you have in mind
its supply of custom modules is quite limited
it provides you with few UI and native features, thus "forcing" you to... get your hands dirty with code (and that may take some time)
it challenges you with a steep learning code
it takes a team of experienced developers to build a high-powered React Native app
it presents some shortcomings of navigation components
It's definitely not a framework for junior developers and startups.
4. Final Word
Do you value a native-live experience for your end-users over a fast development process?
Is a big set of UI components, that you can just... assemble, more important to you than high speed? Is a rich collection of plugins more valuable to you than a low learning curve for your developers?
See?
Picking the right hybrid app development framework for your project means finding the (almost) perfect match between a tool's selling points and your own priorities.
So, which one's your winner?
Photo by Jacob Townsend on Unsplash
Silviu Serdaru / Feb 07'2020
You save time, you keep errors to a minimum, you free up mental real estate that you could then invest in other crucial tasks included in your app's development lifecycle, you... There's no point insisting on the benefits: automating your testing process is a life-changer. But how do you know what automation testing tools for web applications to evaluate first?
Where to start? Which are the most effective ones?
Those that are conveniently feature-rich and easy to use, as well? That ship as bundles of powerful features and are so straightforward, helping you create test cases in no time?
Well, we've done our research and identified 5 automated software testing tools that meet most of your criteria:
to be open source
to run in a variety of operating systems and browsers
to be feature-rich
to be easy to use
But First: Determine What Test Cases You Should Automate
To put together an effective test automation strategy for web applications you need to be really strategic.
Strategic about what parts of the process you should put on auto-pilot and where it would be best to test them, as well:
don't rush in to test everything in the GUI (like record and reply, for instance); GUI testing tools do come with some significant test maintenance costs, you know
whenever possible, opt for unit testing instead of GUI testing
load testing, repetitive tasks, tasks that run on multiple platforms and configurations, tests that need to be “fueled' with multiple data sets... these are just some of the cases that you should automate
1. Selenium, One of the Top Automation Testing Tools for Web Applications
Selenium is the... “Swiss knife” type of automated web testing tool. It comes as a heavy package of libraries and tools.
Moreover, you get to run it in pretty much any:
operating system
browser
automation testing framework
programming language
In short: it's one of the most versatile automated software testing tools that you can get your hands on. The “de facto” standard in terms of open-source test automation tools, with a large community that you can rely on.
Source: G2.com
And with versatility comes power, since Selenium empowers you to come up with particularly complex browser-centered test scripts.
You get to use them for:
regression testing
exploratory testing
quick reproduction of bugs
Cons of Using Selenium
For there are also some drawbacks to using this automation testing tool on your web apps to keep in mind:
a certain maintenance overhead (maintaining your tests in Selenium is more expensive compared to unit testing, for instance)
building libraries and frameworks to meet specific testing needs does call for above-the-average programming skills (time and effort, as well)
2. Watir
A powerful tool for automating tests. A Ruby library in fact, that mimics the behavior of a user interacting with your web app.
Why would you choose Watir over other free automation testing tools for web applications?
Because:
it enables you to create tests that are easy to read and to maintain
you can run it on your web app, irrespective of the languages that it is written on
it supports data-driven testing
from buttons to links, to forms and their responses, it's built to test all the elements of your web application
you can leverage its powerful API handling to extend its capabilities
you get to connect it to databases, turn your code into reusable libraries, read data files, export XML
you get to combine manual browsing with Ruby commands
it supports cross-browser testing
it integrates with business-driven development tools: Cucumber, RSpec, Test/Unit
To sum up: Watir taps into the advantages of Ruby — reputed for its clear syntax — which makes it such a flexible testing tool to add to your... toolkit.
Source: G2.com
Cons of Using Watir
a relatively small community supporting it (when you compare it to Selenium)
you need to pair it with other tools to use it to its full potential
3. TestComplete
If a powerful, feature-rich automated web testing system is what you need, then TestComplete checks off all the “must-haves” on your list:
From cross-browser to regression, to parallel testing, it provides you with all the capabilities that you expect from a robust automation system.
1500 +real test environments... That's the type of scalability that you get if you opt for this automated software testing.
It's one of those automation testing tools for web applications that you get to use on your mobile and desktop apps, as well. For pretty much any type of automation task that you can think of...
Source: G2.com
Cons of Using TestComplete
Some users have reported errors with object recognition during playback. So, you might want to keep that in mind.
4. Katalon Studio
Easy to use and robust.
Source: G2.com
What more could you ask from an automated UI testing tool than:
to be conveniently accessible to any type of tester, those with no programming background here included
to ship with a whole set of powerful features
And speaking of those, here are just some of the capabilities that you can turbocharge your testing process with:
customizable execution workflow
support for image-based testing
smooth integration with a variety of tools (e.g. TeamCity and Jenkins)
built-in support for generating test scripts, creating test cases, reporting results, recording actions
built-in object repository, object re-identification, Xpath
built-in support for Groovy/Java scripting languages
visual representation of each step in the test (it's one of the most beginner tester-friendly tools out there)
Moreover, Katalon Studio is one of those automation testing tools for web applications that you can use for API and mobile testing as well.
5. Cucumber
Here's another open-source automated software testing tool to consider putting on your shortlist.
A collaborative tool based on behavior-driven development that you can use to:
write acceptance tests for your web apps
perform those tests by running the most representative examples for your app
Now, one of the biggest strengths of this tool is the up-to-date document that it'll provide you with. One incorporating both the test documentation and the specification.
Source: G2.com
Anyone in your team (non-testers) can go through it since it's written in a highly accessible format (plain English).
Now, if we were to sum up its “power” features:
it enables you to reuse code in your tests
it supports lots of different languages Groovy, Python, Perl, PHP, .NET, Scala
it grants you great support, since it's a highly popular automated app testing tool, with a large community
it enables you to use code along with Watir, Selenium, Capybara
it's a cross-platform tool
quick set up
it enables you to generate detailed reports
it integrates with GIT and Jenkins
Cons of Using Cucumber
you might find the default organization a bit... overwhelming
you depend on external plugins for generating reports, so do expect some integration challenges
The END!
These are the top 5 automation testing tools for web applications that you should check first when getting your 2020 toolbox ready.
Have you used any of them? If so, what's been your experience with it/them?
And what other automated web testing tools would you have added to this selection? Let us know in the comments down below:
Image by testbytes from Pixabay
Silviu Serdaru / Jan 21'2020
Why or rather "when" should you consider building your own cloud-native Drupal platform?
Is a cloud platform the right answer to your Drupal app development challenges?
Is a container-based infrastructure a viable solution for you? For your business needs and for building digital experiences that meet the needs of your audience?
How do you know if your specific use case calls for a cloud-native Drupal app development environment?
And, assuming that you've run your own evaluation and that your use case does demand a switch from your current VM to a... multi-cloud Drupal hosting architecture:
How do you make Drupal... cloud-native friendly?
So that you can build, deploy, scale and manage fast and resilient Drupal apps in the cloud?
In this post, we commit to answering all your key cloud-native and Drupal-related questions:
"What does cloud-native mean exactly?"
"What is cloud-native with respect to Drupal?"
"Why do I need a cloud-native Drupal platform anyway?"
"What are the biggest advantages and their... flip sides?"
1. What Does Cloud-Native Mean Exactly?
What is a cloud-native application?
It's a holistic approach to designing, building, and running applications that make the most of cloud-native concepts.
Or, if you wish:
Cloud-native application development is a methodology — covering all stages of an app's lifecycle: design, deployment... operations — for developing apps that run in the cloud.
Applications that use the cloud computing model to its full potential.
DevOps, agile, microservices, and other modern software architectures all fall under the umbrella of a cloud-native methodology.
Therefore, it's fast, resilient, highly scalable and easily maintainable applications that you get to run in a cloud-native infrastructure.
2. And What Is Cloud Native with Respect to Drupal?
In other words: where does Drupal fit in this revolution in how we develop and deploy our applications on a cloud platform?
Overall, taking full advantage of a cloud-native Drupal app development environment means:
Finding the best solution for handling decentralized storage, auto-scaling, auto-provisioning and multi-region fault tolerance.
Getting the most of cloud-native and Drupal comes down to:
minimizing the use of long-running servers
relying more on purpose-built services and elastic computing
setting up a development environment where you can easily test your new themes and modules, fix bugs, build, and deploy resilient enterprise Drupal apps
3. Why Build Your Own Cloud Native Drupal Platform? And When?
For there are cases (is this your case, too?) when such a powerful, yet... challenging architecture is not justified by the company's business needs.
So, let's answer your "when" question first.
You're better off with a cloud-native infrastructure, where you deploy Kubernetes and containers, if:
you're dealing with high traffic, high volume applications and polyglot architecture
you already have an Ops team
you've already made at least some sort of investments in the private or public cloud
your current requirements in terms of costs and control justify setting up a multi-cloud architecture
you're running and maintaining an entire ecosystem of Drupal sites
"OK, so it looks like I "qualify" for it. But still: what would be the biggest advantages of building my own cloud-native platform compared to opting for a cloud vendor's services?"
Here are the 2 most obvious advantages:
you'd avoid getting locked in to a cloud provider
you'd avoid growing dependant on your PaaS provider for hosting, scaling, and managing your own Drupal apps
4. Why Would You Want to Containerize Your Drupal Apps in the First Place?
What would be your major wins if you ran Drupal in containers?
Here are the 3 most significant ones:
repeatability and consistency: you get the same predictable and specific result with each container that you run
less maintenance work
an easier way to run PHP upgrades compared to a conventional VM stack where you depend on your host for that and where there's a whole cluster of sites that needs to get PHP upgraded simultaneously
5. 3 Pillars of a Container-Based Infrastructure: Drupal, Kubernetes, Docker
What goes into a cloud-native Drupal platform? There are 3 key players involved:
5.1. Drupal
The robust, open-source software and content management system which, beginning with its 8th major version, grew into a Symfony-based content management framework.
Backed by a huge (100K+) and active community of contributors and a rich plugin ecosystem, Drupal powers a wide variety of web applications: media and entertainment apps, non-profit, gov, education...
The Acquia Cloud Platform is the only web hosting solution designed to meet the wide range of demands of enterprise-level businesses in Drupal.
5.2. Kubernetes
It's the standard container orchestration technology.
In the context of your future cloud-native infrastructure, you'll be using it to manage:
your containers' lifecycle
command and control
distribution
scheduling
5.3. Docker
It's the standard... tool that you will be using for creating your containers.
6. 4 Cloud-Native Platform Features to Put on Your Wishlist
What feature requirements should you have with respect to your Drupal app development environment?
Here's how a... decent wishlist should look like:
it should provide a layer of abstraction over IaaS
it should handle cross-cutting concerns
it should be easily scalable and secure
it should provide an efficient developer experience (and agile operator experience, as well)
7. Deploying Your Drupal Apps on the Cloud: Requests & Constraints
What's the proper setup for a container-based Drupal architecture?
"What are the key requirements that my future cloud-native Drupal platform should meet?" you might legitimately ask yourself.
your Drupal application should be turned into a containerized stack
minimal Ops (or not Ops at all)
it should run properly on any cloud
your public/private file should be externalized
it should scale up, out, and down
it should make the most of PaaS services: for gateways, databases, load balances, cache stores, queues
it should tap into an operational model: new app provisioning-routing-monitoring...
your development team should be able to get high fidelity local environments up and running in no time
"And what challenges should I expect?" you'll further wonder:
your developers are faced with a steep learning curve: they should have some sort of understanding of what's happening under the hood when deploying Kubernetes
CI & Delivery Pipeline
logical architecture
monitoring and management
Dev & Build Tools
local development
The END!
What do you think about Drupal Cloud?
Is a cloud native Drupal development environment a viable solution for you?
Are the advantages highlighted here relevant enough for your use case and business needs? Or are the outlined challenges too discouraging for you?
Feel free to share with us any thoughts and concerns that you might have regarding the idea of building your own cloud native Drupal platform and see how Drupal Cloud can help you deliver outstanding digital experiences.
Photo by C Dustin on Unsplash
Silviu Serdaru / Dec 12'2019
So, getting your apps up and running with Kubernetes has been a quite unexpected pleasant surprise. But now comes the... predictably challenging part: updating and deploying them. How do you set up a solid automated deployment pipeline? What continuous deployment tools for Kubernetes meet all your specific feature-needs?
Feature needs like:
canary deployment
release management
secrets and variable storage in the tool itself (i.e. not in Kubernetes)
easy rollbacks
continuous-integration
rolling and orchestrating application deployment
UI
blue-green deployment
monitoring infrastructure and applications
And the offer of tools geared at making deployment more efficient sure is... overwhelming enough.
But fear not, for we've weighted some of the most popular Kubernetes cluster deployment tools' pros and cons, we've compared them to one another and shortlisted your bulky list of options to... 5.
The 5 best dedicated tools to orchestrate your releases with Kubernetes:
0. Manual Deployments vs Continuous Deployment Tools for Kubernetes
Why not just build a fully customed deployment script like... so many organizations out there still do?
It would fit your specific in-house processes and particular feature needs like a glove, wouldn't it?
"In a soon to be released survey by Codefresh, 32 percent of developers reported they don’t have CI/CD or the right kind of automation tools to help them deploy more often, making it challenging to take advantage of cloud-native technologies." (source: Devops.com)
Well, let me give you 8 key reasons why maintaining such a script would turn into a dread in the long term.
And why going with an “off-the-shelf”, “enterprise-level” solution would benefit you n times more:
maintaining a deployment script is a slow and time-consuming process
a custom build turns into a major challenge once you need to scale it up
running manual Kubernetes deployments, that engage a large development team, is always more prone to errors
managing rollbacks, keeping track of old and new deployments — particularly when dealing with a large team and a complex app — is n times more challenging (and riskier) when using manual deployments compared to running the right CD tools
automated deployment tools for Kubernetes enable you to run specific deployment strategies like blue-green or canary
YAML files have gained a reputation of being particularly error-prone; Kubernetes application deployment tools will streamline everything, from creating YAML files to generating and templating them
storing secrets, managing them among multiple developers, across different repos, calls for extreme cautiousness and so... can get time-consuming and prone to “accidents”
upgrading the entire ecosystem of resources that your Kubernetes app depends on gets quite challenging; by comparison, automating the entire updating workflow, using the right tooling, will help you save valuable time
In short: if scalability, maintainability and close to zero risks of failure are your two top priorities, choosing the right tooling for your continuous deployment workflow with Kubernetes becomes critical.
1. Fluxcd.io
One of the best Kubernetes deployment tools that you could "turbocharge" your workflow with. Here's why:
Source: Fluxcd.io
you can use it in production
it relies on an operator in the cluster to run deployments inside Kubernetes: in other words: you won't need a different continuous deployment tool
it detects new images, keeps an eye on image repositories and updates the running configurations based on a configurable policy and the configuration set in git
it checks that all config updates and new container images get properly pushed out to your Kubernetes cluster
it adjusts itself to any development process
In short: Flux will automate the deployment of services to Kubernetes.
Now, here's Flux "in action", in one of its typical use cases:
One of the developers in your team makes some changes... the operational cluster needs updated now... Flux detects the changes and deploys them to your cluster and keeps monitoring it.
Long story short: that developer in your team won't need to interact with an orchestrator; Flux provides him/her with a CLI to run all these operations manually.
But there are also 2 cons for using Flux as your automated deployment tool:
it lacks webhook support
it lacks multi-repo support
Tip: use this automated deployment tool at the end of the Continuous delivery pipeline.
2. Spinnaker.io
What's Spinnaker?
Source: bmc.com
A cloud deployment tool developed originally by Netflix, then open-sourced, that comes with support for Kubernetes.
How does it work with Kubernetes?
It's designed to complement Kubernetes, to make up for its limitations: it provides robust deployment pipelines that allow you to "joggle with" various deployment strategies.
Why would you choose Spinnaker over other continuous deployment tools for Kubernetes?
Because:
it provides deployment pipelines, easy rollbacks and scaling (right from the console)
it's open-source
it integrates seamlessly with email, Slack, Hipchat, thus making pipeline notifications a breeze
you get to use it for all types of Kubernetes resources (it's not "limited" to deployments)
it supports Helm charts
it handles blue/green and canary deployments and ships with support for any CI tool and cloud provider
it'll monitor your Kubernetes app's (and cluster's) health
In short: you'll want to use Spinnaker if it's a robust, fully automated CD pipeline for Kubernetes that you want to set up; one "packed" with all the best practices, that'll help you streamline the deployment of apps.
2 Typical Use Cases for Spinnaker:
you use packer for building an AMI in one of the stages and you deploy it to production; Spinnaker allows you to closely monitor the state of your deployed application
to perform tests, detect a container image push and deploy that image to Kubernetes
3. Codefresh.io
Source: Codefresh.io
Not just one of the continuous delivery tools to consider, but THE first Kubernetes-native CI/CD technology.
Codefresh is a GUI-based environment that streamlines your Kubernetes app building and deployment process.
Here are just some of the most powerful reasons why you'd add it to your box of continuous deployment tools for Kubernetes:
it supports Helm charts
it allows you to use your favorite tools: favorite CI, image repository, repo...
it ships with a whole set of plugins that enable you to hook it to your favorite CI/CD tools (e.g. Jenkins)
And a few cons of using Codefresh:
it won't store your secrets/variables
its plugins are set up from their own GUI: if trouble strikes, addressing the problem might make your pipeline unnecessarily complex
it doesn't handle cluster credentials living outside your cluster, leaving it exposed to imminent risks
4. Argo CD
Source: Argoproj.github.io
Another one of the best Kubernetes deployment tools to consider when you're planning your continuous delivery workflow.
How does Argo CD work?
Argo uses git repositories as a reference for the target state of your app and the target deployment environments. It will synchronize your desired app state with each of the target environments that you'll define.
It's a declarative continuous system that it will provide you with, one supporting a whole variety of config management tools: Helm, ksonnet/jsonnet...
Argo CD's top features, that make it worthy of your shortlist, are:
it provides continuous monitoring of your deployed apps
rollback/roll-anywhere-in-the-git-repository features
it ships with webhook support (BitBucket, GitLab, GitHub)
it provides sync, presync and postsync hooks for complex app rollouts
it provides SSO integration (GitLab, OIDC, Microsoft, LinkedIn, SAML 2.0, LDAP)
you can use it alone or as a component of an existing setup of pipeline tools
5. GitLab
An automated delivery tool designed to meet even the highest feature needs:
Auto DevOps provides you with pre-built CI/CD configuration, so you can automatically identify, build, test, deploy and further monitor your Kubernetes apps
it works with any Kubernetes cluster (you won't depend on GitLab's infrastructure)
it allows you to use Containers as a Service or a self-hosted Kubernetes cluster on any public cloud
it provides you with CI support out of the box
it allows you to choose between its auto-deploy component for Kubernetes and Helm charts
Overall: GitLab will simplify and streamline your entire Kubernerted app development cycle.
Use it if you need an end-to-end automated deployment pipeline that doesn't depend on too many configurations. It makes that off-the-shelf solution that fits your scenario perfectly.
The END!
These are the 5 continuous deployment tools for Kubernetes to start evaluating first as you're getting your toolbox ready.
Do you have a continuous deployment pipeline in place? What other great tools are you using to orchestrate your app releases with Kubernetes?
Image by Astryd_MAD from Pixabay
Silviu Serdaru / Nov 26'2019