Silviu Serdaru

Silviu Serdaru

SILVIU SERDARU, Front-End & Drupal Developer

Constantly seeking to enrich the "arsenal" of technologies that I already have a hands-on experience in working with (HTML5 to CSS3, JavaScript, jQuery, PHP...) and on a permanent lookout for front-end development challenges with a Drupal-specific flavour.

Back to Blog Posts
How to Speed Up a WordPress Website: 11 Universal Ways that You Can Make It Faster (With and Without a Plugin)- Part 2
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    ... Read more
Silviu Serdaru / May 13'2020
How to Speed Up a WordPress Website: 11 Universal Ways that You Can Make It Faster (With and Without a Plugin)- Part 1
“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 ... Read more
Silviu Serdaru / May 07'2020
Which Drupal Page Builder Should You Use: The Gutenberg Editor or Cohesion DX8?
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   ... Read more
Silviu Serdaru / Apr 14'2020
Drupal Layout Builder vs Gutenberg: How Do You Know Which Page Builder’s Right for You? 
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  ... Read more
Silviu Serdaru / Mar 25'2020
What Are the 10 Rules of Good UI Design? What Is Good UI/UX Design?
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   ... Read more
Silviu Serdaru / Mar 17'2020
What Hybrid App Development Framework Should You Use for Your Projects in 2020? Top 3
"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  ... Read more
Silviu Serdaru / Feb 07'2020
The 5 Best Automation Testing Tools for Web Applications that You Could Use in 2020 (Powerful and Easy to Use)
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     ... Read more
Silviu Serdaru / Jan 21'2020
Why Would You Build Your Own Cloud-Native Drupal Platform? The Main Benefits and Challenges to Consider
  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  ... Read more
Silviu Serdaru / Dec 12'2019
What Are the Best Continuous Deployment Tools for Kubernetes and Why? Top 5
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   ... Read more
Silviu Serdaru / Nov 26'2019