<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: twain taylor</title>
    <description>The latest articles on DEV Community by twain taylor (@twaintaylor).</description>
    <link>https://dev.to/twaintaylor</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F53200%2F2eb7d656-21bf-4883-aafc-76d78c653d27.png</url>
      <title>DEV Community: twain taylor</title>
      <link>https://dev.to/twaintaylor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/twaintaylor"/>
    <language>en</language>
    <item>
      <title>7 Ways Bots Can Go Wrong and How to Avoid These Pitfalls</title>
      <dc:creator>twain taylor</dc:creator>
      <pubDate>Wed, 12 Feb 2020 15:09:20 +0000</pubDate>
      <link>https://dev.to/twaintaylor/7-ways-bots-can-go-wrong-and-how-to-avoid-these-pitfalls-37fo</link>
      <guid>https://dev.to/twaintaylor/7-ways-bots-can-go-wrong-and-how-to-avoid-these-pitfalls-37fo</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fldusccr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/dFgHeQVrIrzDRL_uMoYdWjft-udnW_eXD5NXbP3jaX_I002QyynSMB89Hb0VUDTlWuqpGEv2x0zRw8iWR7EGwWPkWImH92okYsghDv9f2ef2HXSwfrdi7U5UheDBnkLOHaDkw-f-" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fldusccr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/dFgHeQVrIrzDRL_uMoYdWjft-udnW_eXD5NXbP3jaX_I002QyynSMB89Hb0VUDTlWuqpGEv2x0zRw8iWR7EGwWPkWImH92okYsghDv9f2ef2HXSwfrdi7U5UheDBnkLOHaDkw-f-" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source:&lt;/em&gt; &lt;a href="https://pixabay.com/illustrations/chatbot-chat-application-artificial-3589528/"&gt;&lt;em&gt;Pixabay&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bot technology has been around for &lt;a href="https://discover.bot/bot-talk/beginners-guide-bots/introduction-to-bots/"&gt;decades&lt;/a&gt;---since 1966 to be exact---but it's only in recent years that the implications of bots have been understood and exploited. Bots offer automated services through websites or messaging apps, often disseminating information or answering queries. Chatbots have taken the world by storm, doing everything from taking customer's food orders to answering queries about medical issues. It is predicted that soon chatbots will take over the functions of most apps and reduce our dependence on them. The popularity of voice-controlled virtual assistants like Apple's Siri, Amazon's Alexa, Google Assistant, and Microsoft's Cortana are proof of the power and utility of chatbots as well as their soon-to-be ubiquity. However, creating a functional chatbot that carries out the purpose it was built for isn't an easy task. Debacles like the &lt;a href="https://www.techrepublic.com/article/why-microsofts-tay-ai-bot-went-wrong/"&gt;Microsoft Tay.ai chatbot incident&lt;/a&gt; demonstrate this---the bot had to be taken down after Twitter users taught it to be racist and sexist. Here are some of the &lt;a href="https://discover.bot/bot-talk/5-bot-development-mistakes/"&gt;things that can go wrong with a bot&lt;/a&gt; as well as some ways to deal with them effectively:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Lack of specialization and purpose
&lt;/h2&gt;

&lt;p&gt;Unlike Google's and Apple's voice-controlled virtual assistants, most bots aren't meant to perform wider and wider varieties of tasks. Bots are usually much simpler and straightforward in terms of purpose, and it's important for developers to understand what the purpose of the bot they're creating is. A pizza eatery's customers may not benefit from a bot that can tell them what time it is halfway across the world, but they can benefit from a bot that can pull up a menu, help them access past orders, direct them to payment gateways, or connect them to a manager in case an order has an issue. It is essential that your bot comprehensively covers all the potential interaction situations in the field it will be deployed instead of tacking on added capabilities that are of little value.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Not handing over the reins to a human where appropriate
&lt;/h2&gt;

&lt;p&gt;Every bot has its limitations. While a bot can keep a customer engaged and informed, there are points at which it becomes detrimental to have it continue to engage with a customer. It's important to program your bot to escalate issues of importance to a human representative as soon as necessary so that customers don't get frustrated by automated or cyclical responses. Ensure that the bot also updates the representative with the details of the conversation so far so that they have sufficient context to continue the conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Repeats itself to customers
&lt;/h2&gt;

&lt;p&gt;A bot that has poor linguistic capabilities or a poor grasp of natural language will find it hard to decipher customers' chats and queries. Without context, simplified phrasing, or good grammar, a bot may struggle to contextualize a customer's chats accurately and respond accordingly. This could cause the bot to keep repeating itself, leading to customer dissatisfaction. Ensure that it learns from its customers and upgrades its natural language capabilities. This will also help it respond more naturally. Find ways to program your bots to reiterate questions without using the same words to avoid making customers feel like they've hit a dead end. This involves &lt;a href="https://discover.bot/bot-talk/define-and-design-intents-for-your-bot/"&gt;designing intents for your bot&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. A personality that doesn't match the company's image
&lt;/h2&gt;

&lt;p&gt;Customer service staff are often trained to represent the company's image to every customer they interact with. In the same way, a bot represents the image of the company to anyone who interacts with it, and it would do you well to update its vocabulary accordingly. Having a bot that adopts a casual and humorous tone with people merely trying to resolve tax queries can backfire, whereas a bot for an amusement park's website that is too formal may be off-putting. Understand your company's image thoroughly before developing your bot's personality to ensure that it represents your brand well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g2SACw7S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/eGHw_MJT8m2qiWsUEIHOOJ1Lt5oG-jPR8JulTRG-s2dAhmIfXY7EI_9Ei6Lcbm_cBevMvXIzumZpilVPxGlndr-MseaKGzsOO_0ZxkBuAS42N-R_E7XbDQOhshtUB9FEZNFHtVmt" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g2SACw7S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/eGHw_MJT8m2qiWsUEIHOOJ1Lt5oG-jPR8JulTRG-s2dAhmIfXY7EI_9Ei6Lcbm_cBevMvXIzumZpilVPxGlndr-MseaKGzsOO_0ZxkBuAS42N-R_E7XbDQOhshtUB9FEZNFHtVmt" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source:&lt;/em&gt; &lt;a href="https://pixabay.com/illustrations/chatbot-chat-robot-instant-3936760/"&gt;&lt;em&gt;Pixabay&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. No access to relevant databases
&lt;/h2&gt;

&lt;p&gt;It's important to integrate your bot with your organization's databases and resources in order for it to be able to have pertinent customer information available to it when interacting with a returning customer. For example, if a customer seeks information on a discount that has been updated to a database the bot doesn't have access to, you could risk losing business. Having a well-informed bot helps it reduce the number of questions it needs to ask customers, increasing retention rates.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Not disclosing its identity
&lt;/h2&gt;

&lt;p&gt;Customers can often feel misled when they fail to realize that the person they've been chatting with the whole time was in fact a bot. Customers are highly likely to immediately end engagement with a bot if they find out later on in the conversation that they have been talking to software rather than a human being. A bot needs to reveal itself to a customer in its initial greeting or introduction so that they don't end the interaction in frustration.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Not sufficiently secured
&lt;/h2&gt;

&lt;p&gt;Users reveal sensitive information on chats that, if not secured with https protocol and other security measures, can lead to a serious breach of information and also of trust. Bots also need to be fitted with adequate security measures so that attackers don't use them as gateways to the organization's sensitive databases. Another way to secure bots is to install safeguards to prevent them from learning undesirable behavior and speech patterns that may end up compromising customer relations or even organizational security.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jKKEwoqR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/tudGRiMrz5Qp5qU8ZjzrJPTlGnA7zkBihPIv1A7uHCtR6Yp6bYQKU_aeisH7wjr7pEvIwtELb8VOYVvnZAvUkwKm7IFl6jlnFIpCaoyhvhk2-88ksLKliJZDab_dwI1SCSZnpOU_" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jKKEwoqR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/tudGRiMrz5Qp5qU8ZjzrJPTlGnA7zkBihPIv1A7uHCtR6Yp6bYQKU_aeisH7wjr7pEvIwtELb8VOYVvnZAvUkwKm7IFl6jlnFIpCaoyhvhk2-88ksLKliJZDab_dwI1SCSZnpOU_" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source:&lt;/em&gt; &lt;a href="https://pixabay.com/illustrations/internet-crime-cyber-criminal-1862312/"&gt;&lt;em&gt;Pixabay&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are plenty of other things that could go wrong when it comes to bots. It's important for developers to understand that creating a bot and releasing it into the world is only the first step. It needs to be managed constantly to ensure that it carries out the functions it is intended for effectively and that customers are satisfied with the services it offers. Implementing best practices during bot development can help you reap the vast benefits that bots have to offer, including and not limited to cost saving, customer engagement, efficiency in interactions, convenience, and personalized interactions.&lt;/p&gt;

</description>
      <category>bots</category>
      <category>bottechnology</category>
      <category>chatbots</category>
    </item>
    <item>
      <title>Top trends in Salesforce app development for 2019</title>
      <dc:creator>twain taylor</dc:creator>
      <pubDate>Tue, 05 Nov 2019 14:48:05 +0000</pubDate>
      <link>https://dev.to/twaintaylor/top-trends-in-salesforce-app-development-for-2019-1555</link>
      <guid>https://dev.to/twaintaylor/top-trends-in-salesforce-app-development-for-2019-1555</guid>
      <description>&lt;p&gt;With the advent of the cloud, most organizations are looking to utilize cloud-based environments to overcome the barriers of traditional app development. While traditional application development demanded significant investment in expensive tools and resources (in terms of skills, hardware installation, data storage, maintenance, etc.), the new cloud-based platforms allow a faster, scalable and more efficient development of applications. Modern cloud-based platforms like Salesforce provide integrated development environments and tools for monitoring and debugging applications to quicken development and reduce delays in delivery cycles.&lt;/p&gt;

&lt;p&gt;With more than 150,000 customers and four million developers, Salesforce is considered as one of the leading enterprise cloud computing platforms. In fact, for the fourth consecutive year, Salesforce has been named a Leader by Gartner in its 2019 &lt;a href="https://www.salesforce.com/company/news-press/press-releases/2019/08/192808-t/"&gt;Magic Quadrant for Digital Commerce&lt;/a&gt;. Let's discuss the key trends to watch for in the world of Salesforce in 2019:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nZsByR8t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/qGnz9PT3acpMMrzG1_u9JcdHrJVQkFxVGXpCcGEIK8wIHpkOp4ASFERULdR9VWmLoIIuSQFhi1IK8vbJ9cOlt8XOwfVFth-rTDhJ6fePRjQ0YREKSiPRRk0KuLc5FYZqZJQt9ILm" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nZsByR8t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh4.googleusercontent.com/qGnz9PT3acpMMrzG1_u9JcdHrJVQkFxVGXpCcGEIK8wIHpkOp4ASFERULdR9VWmLoIIuSQFhi1IK8vbJ9cOlt8XOwfVFth-rTDhJ6fePRjQ0YREKSiPRRk0KuLc5FYZqZJQt9ILm" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://commons.wikimedia.org/wiki/File:Sf-marketingcloud-logo.png"&gt;Wikimedia.org&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Customer 360
&lt;/h3&gt;

&lt;p&gt;Customer 360 is an enterprise-grade customer data management platform that enables granular profiling and hyper-personalized engagement of customers across various aspects of customer interaction, including marketing, sales, and services. It provides integration with the existing products and services, like Commerce Cloud, Marketing Cloud, and Service Cloud, providing a complete view of the customer across all channels, and thus enabling better customer engagement and personalized experiences. &lt;/p&gt;

&lt;p&gt;A single unified data model called 'Standard and Custom Objects' helps keep a standard format across all Salesforce products, including Sales Cloud, Service Cloud, Community Cloud, Health Cloud, Pardot, CPQ, Financial Services, B2B Commerce, and Lightning Platform. This helps in the smooth transition of data across these tools, and also enables unified functioning of all data for Einstein Analytics and the Salesforce Mobile app.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gtHEN7Ie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/dAdixmcvKaIpwgfXaIlCJoT_6b191v9pI0-ZlMsgUdv9kyFtwhKOYe04Id42wC0_-d0X6Rn8L5HKQPhdQvww10K5kxOU8eG5mPzjIRpialHazLgQydfjMXCp7TWy5WLC4oDf1iPD" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gtHEN7Ie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh5.googleusercontent.com/dAdixmcvKaIpwgfXaIlCJoT_6b191v9pI0-ZlMsgUdv9kyFtwhKOYe04Id42wC0_-d0X6Rn8L5HKQPhdQvww10K5kxOU8eG5mPzjIRpialHazLgQydfjMXCp7TWy5WLC4oDf1iPD" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://www.freepik.com/premium-photo/business-woman-drawing-global-structure-networking-data-exchanges-customer-connection_4066063.htm#page=1&amp;amp;query=customers&amp;amp;position=2"&gt;Freepik.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Einstein Voice
&lt;/h3&gt;

&lt;p&gt;Einstein Voice is a new voice-based platform, with two supporting products: Einstein Voice Assistant and Einstein Voice Bots. Einstein Voice Assistant is a voice-based user interface to interact with Salesforce products and services, that allows users to get voice-based briefing (via Salesforce app or smart speakers), and allows voice-based commands to make updates to Salesforce records. Einstein Voice Bots enables the Salesforce customers to build their own voice assistants on top of their applications. Announced in Sept 2018, these tools are scheduled to be rolled out in Q3 or Q4 of 2019. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Mulesoft
&lt;/h3&gt;

&lt;p&gt;Mulesoft is a leading platform for building application networks that powers enterprise apps, data, and devices across on-premise as well as cloud environments. Salesforce had announced the completion of its &lt;a href="http://techgenix.com/salesforce-mulesoft/"&gt;acquisition of Mulesoft&lt;/a&gt; in May 2018, and since then it has integrated its services with MuleSoft's Anypoint Platform, enabling advanced capabilities like mobile payment and real-time location-based data services. Integration with Mulesoft also enabled several additional enhancements like connecting with customer data across different record systems, reconciling these records into different applications, and then enabling seamless access to the entire system irrespective of the source of the data.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Lightning web components
&lt;/h3&gt;

&lt;p&gt;Lightning web components are the custom HTML elements that use core Web Components standards to provide an entirely new experience of lightweight code development with Salesforce. It is built using the native code (standard JavaScript and HTML) that runs natively in web browsers, and thus it is capable of delivering exceptionally high-performance output. The new Lightning Web Components can co-exist with the existing model - Aura Components, and these components can interoperate on a single page, both appearing as Lightning components to the end-users.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Salesforce Blockchain
&lt;/h3&gt;

&lt;p&gt;Salesforce Blockchain is a low-code platform, which leverages the open-source blockchain technology from Hyperledger, and the proprietary Salesforce Lightning platform, and enables the users to deploy and manage their own blockchain networks, contracts, apps, and workflows. It enables organizations to share their verified and distributed data sets across their ecosystem of partners and third parties. Blockchain offers a distributed public ledger, shared between all the trusted partners, and allows them to conceptualize a variety of use cases like asset tracking and authentication and verification of goods. The blockchain data can also be combined with CRM workflows to develop new business processes and models for sales, marketing, and services related tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional traits to help you grow
&lt;/h2&gt;

&lt;p&gt;Besides knowledge of the commercial products, there are several other aspects that may impact the productivity and future growth of a developer. Here are a few additional traits that can help Salesforce developers keep themselves updated:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Good user experience and customer engagement is the way to go 
&lt;/h3&gt;

&lt;p&gt;In the current competitive market scenario, most IT leaders rank user experience as a top priority and identify this as one of the priorities while taking investment decisions. A recent survey by Gartner suggests that customers are not just sensitive towards uptime of service availability, but also sensitive towards the choice of engagement channels. Around forty percent of customers said that they wouldn't prefer a business with any company that is not available on their preferred channels. So developers need to ensure that user experience is imbibed as a well-planned outcome of their Salesforce applications, rather than just a loosely coupled post-development makeover. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z3CMaRFQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/Ffr9LbyO_M8IAmaFdOMd3qoE2j1h_nIOVgfkA71Ynmt88L52Pt_GLEpm8JRtSiWkYsytazLrGf9EkHMhyCb8qWI03J8HJzkCPi-EwBeIV0ZvDt-6ItXEPKCOS-ODwFy16fmOdQOB" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z3CMaRFQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://lh6.googleusercontent.com/Ffr9LbyO_M8IAmaFdOMd3qoE2j1h_nIOVgfkA71Ynmt88L52Pt_GLEpm8JRtSiWkYsytazLrGf9EkHMhyCb8qWI03J8HJzkCPi-EwBeIV0ZvDt-6ItXEPKCOS-ODwFy16fmOdQOB" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://www.freepik.com/premium-photo/human-resources-talent-management-recruitment-business-concept_5348665.htm#page=1&amp;amp;query=customers&amp;amp;position=34"&gt;Freepik.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mobile-first strategy and the cross-channel priorities
&lt;/h3&gt;

&lt;p&gt;For any organization, having a mobile-first mindset has become a key trend to meet the expectations of both the customers and the employees. According to a recent survey by Gartner, more than half (56%) of millennial and Generation Z customers have shown preferences for mobile apps rather than traditional desktop-based experience. But at the same time, customers also give priority to cross-channel engagement options. For instance, while traveling, using a mobile phone for replying to an email may be the preferred channel of communication, but for sending a detailed email communication having several attachments, the obvious choice would be a laptop or desktop. So, customers prefer having seamless access to emails or business documents across distinct channels. Also, very often customers use multiple channels to complete a single transaction. For delivering such extraordinary customer experiences, you need to know the preferences of customers across different touchpoints, channels and ensure a personalized and seamless experience across them.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The fast-growing Salesforce ecosystem
&lt;/h2&gt;

&lt;p&gt;With the ever-booming market of Salesforce products, there are thousands of independent software vendors (ISVs) and system integrators (SIs) that help further extend and implement the Salesforce functionalities, by developing customized apps for Salesforce platforms, or by specialized expertise and support. Vendors like &lt;a href="https://www.autorabit.com/autorabit-for-salesforce/"&gt;AutoRabit  &lt;/a&gt;provide their support to solve any SaaS automation-related challenges faced by Salesforce clients. Their value-added services help developers achieve continuous integration and continuous delivery (CI/CD) and application release automation (ARA). Such vendors can help developers achieve advanced capabilities like intelligent version control, deployment automation, and sandbox management which aren't part of the default Salesforce development experience. &lt;/p&gt;

&lt;h3&gt;
  
  
  Additional innovations and partnerships by Salesforce
&lt;/h3&gt;

&lt;p&gt;As a leading cloud-based software and service provider, Salesforce has taken several innovative initiatives to retain its position as one of the top service providers. While on one side, it has further steps to deepen its partnerships with top vendors, including Google, and Apple. As a part of its partnership, Salesforce now offers its US and Canada based customers options for direct purchase of Google Marketing Platform products, including Google Analytics 360, Google Optimize 360 and Google Tag Manager 360. At the same time, Salesforce Essentials, the out-of-the-box CRM for small businesses, is now offered via the G Suite and Google Cloud Platform marketplaces. &lt;/p&gt;

&lt;p&gt;Similarly, the strategic partnership between Apple and Salesforce has resulted into several innovative options for the developers, like Salesforce Mobile SDK for iOS, which can help embrace the native mobile platform with exclusive new features on iOS. In addition, there are several promising developments around IoT, Salesforce DX, VSCode and Packaging that the Salesforce developers should keep their eye on. It is indeed an exciting time to be a Salesforce developer. There is a lot of innovation, and all this points to a promising future for the entire Salesforce ecosystem.&lt;/p&gt;

</description>
      <category>salesforce</category>
      <category>cicd</category>
      <category>mulesoft</category>
      <category>autorabit</category>
    </item>
    <item>
      <title>10 things to keep in mind when performing a Windows Server backup</title>
      <dc:creator>twain taylor</dc:creator>
      <pubDate>Fri, 20 Sep 2019 09:37:34 +0000</pubDate>
      <link>https://dev.to/twaintaylor/10-things-to-keep-in-mind-when-performing-a-windows-server-backup-2pd</link>
      <guid>https://dev.to/twaintaylor/10-things-to-keep-in-mind-when-performing-a-windows-server-backup-2pd</guid>
      <description>&lt;p&gt;Backups are extremely important for any business. Virtual machines are commonly used by various businesses. VMs usually host important applications and contain important data that can be lost due to numerous reasons. In this case, having a backup can be a lifesaver. A pretty common environment used by a number of enterprises is Windows Server. Windows Server provides enterprise-grade data storage, management, and communication with applications such as SQL Server, Sharepoint, Exchange, and Oracle among others. Windows server does come with a built-in backup option. Let’s just take a look at things that should be considered while backing up Windows Server. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xRxrPgrL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/a96t72ftnze2j6kq84r4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xRxrPgrL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/a96t72ftnze2j6kq84r4.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
source: &lt;a href="https://pixabay.com/photos/server-cloud-development-business-1235959/"&gt;Pixabay&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Storage 
&lt;/h2&gt;

&lt;p&gt;Windows Server Backup only allows certain storage technologies to be used to store the backup data. Due to fixed storage, users won’t have the automated backup option and won’t have a great experience either as these fixed backups are not efficient. Therefore, enterprises should look for a backup solution that allows users to have their backups stored at any location of their choice and at the same time allows for efficient automation. An ideal backup solution will offer great performance and will allow for network acceleration to perform backup jobs over busy networks irrespective of location.&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Limited Backup Copies
&lt;/h2&gt;

&lt;p&gt;Windows Server Backup only allows a single copy of the backup to be maintained, which gets  replaced when a new backup activates. This may not be ideal for enterprises that need to have an archive of previous backups available at all times to recover data from a particular period in the past. Hence, enterprises should rely on backups that help save storage, but at the same time allow for multiple backup copies to be maintained. An ideal solution will allow incremental backups which ensure that only the changes are recorded and not run the entire backup which allows for less storage.&lt;/p&gt;

&lt;h2&gt;
  
  
  3) Encryption
&lt;/h2&gt;

&lt;p&gt;Windows Server Backups are not encrypted by default. To have encrypted backups, BitLocker is needed. The backup will also fail if the required drive isn’t encrypted which makes for an inefficient backup solution. Businesses should look for backup solutions that secure backups by encrypting them and allowing them to be easily decrypted and restored when the need arises. This will help avoid the need for additional tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lRn84kAQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0qfk5uaw4mrspqf0gw3a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lRn84kAQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0qfk5uaw4mrspqf0gw3a.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://pixabay.com/illustrations/cyber-security-security-lock-1915626/"&gt;Pixabay&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4) Recovery
&lt;/h2&gt;

&lt;p&gt;WSB only allows for complete backups to be restored. This means that users can’t simply recover a specific file, a specific table, or a specific mailbox from the past. They will have to recover the entire server making it a time consuming process. Therefore businesses should rely on solutions that allow for recovery of certain, specific files instead of the entire server. An ideal backup solution will allow users to recover particular application objects quickly and efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  5) Bandwidth Management
&lt;/h2&gt;

&lt;p&gt;An ideal backup solution should allow users to be able to control the bandwidth usage for performing certain backup tasks. Users can have control over what bandwidth they want to set for a particular backup job thereby saving bandwidth for mission-critical applications. &lt;/p&gt;

&lt;h2&gt;
  
  
  6) Backup Scheduling
&lt;/h2&gt;

&lt;p&gt;Enterprises should invest in backup solutions that allow them to schedule Windows server backup jobs because the entire process can be pretty time consuming. By scheduling the backup process for after work hours, businesses can make sure no overlap ensuring more efficient backups. The chosen backup solution should also provide a bird’s eye view of all the backup tasks that are running to ensure simplifie management.&lt;/p&gt;

&lt;h2&gt;
  
  
  7) Backup size-reduction
&lt;/h2&gt;

&lt;p&gt;Windows Server backups can be quite hefty in size. However, there are solutions available in the market that provide features like data deduplication and compression to reduce the backup size considerably. Once the backup reaches the specified backup repository, these solutions deduplicate the backup which means the exclusion of duplicate data, saving only unique blocks. Once that is done, an ideal solution will further compress the backup to ensure that the backup data occupies the least amount of space possible. Apart from this, the backup solution should also skip swap files which tend to occupy a lot of space in the windows OS and it’s crucial that they don’t get backed up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GVd-DPEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0zvgunfx4c5vl1w70d1m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GVd-DPEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0zvgunfx4c5vl1w70d1m.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://pixabay.com/vectors/computer-database-network-server-156948/"&gt;Pixabay&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  8) Multiple Copies of backup
&lt;/h2&gt;

&lt;p&gt;A backup solution that allows users to have multiple copies of a Windows Server backup is ideal. These copies can then be stored in a number of different locations including the cloud and a remote location to eliminate a single point of failure. Having multiple copies helps ensure there is always a backup even if the primary backup is affected by data corruption, accidental deletion, and hardware failure among other threats.&lt;/p&gt;

&lt;h2&gt;
  
  
  9) Application-aware backups
&lt;/h2&gt;

&lt;p&gt;A good backup solution will offer features like application-aware windows server backups. This means that the data from applications and databases running on the Windows Server will be backed up in a transactionally consistent state. This is extremely important for specific high priority backups that need to be up and running in no time if required.&lt;/p&gt;

&lt;h2&gt;
  
  
  10) Physical to virtual backups
&lt;/h2&gt;

&lt;p&gt;A good backup solution will also allow users to recover physical server machines to virtual environments. You can simply migrate your physical workloads to a virtual environment and recover them easily without having to have a separate, secondary physical infrastructure. &lt;/p&gt;

&lt;h2&gt;
  
  
  In conclusion
&lt;/h2&gt;

&lt;p&gt;Windows Server backups are important for various organizations that rely on them for their various workloads. Therefore it is important that enterprises research and find the best possible backup solution that eases the backup process but also makes it easy to maintain and store these backups. One such solution is &lt;a href="https://www.nakivo.com/resources/releases/v9.0/"&gt;Nakivo Backup and Replication&lt;/a&gt; that recently came out with its version 9.0 that has all the features mentioned above. Any enterprise looking to perform efficient backups can easily rely on Nakivo for all its needs. With features including incremental, application-aware backups, backup scheduling, network acceleration, deduplication and compression to save storage, bandwidth management, and physical to virtual, Nakivo brings a more personalized and fine-tuned backup approach to the table. Also, with Nakivo’s AES 256‑bit encryption, backups can be protected from unauthorized access during and after the backup process.&lt;/p&gt;

</description>
      <category>windowsserver</category>
      <category>vmbackup</category>
      <category>databackup</category>
    </item>
    <item>
      <title>Docker CLI commands and what you can do with them</title>
      <dc:creator>twain taylor</dc:creator>
      <pubDate>Wed, 10 Jan 2018 09:37:47 +0000</pubDate>
      <link>https://dev.to/twaintaylor/docker-cli-commands-and-what-you-can-do-with-them-5dg3</link>
      <guid>https://dev.to/twaintaylor/docker-cli-commands-and-what-you-can-do-with-them-5dg3</guid>
      <description>&lt;p&gt;Docker has changed the way applications are developed. In a short span of time since &lt;a href="https://blog.docker.com/2014/06/its-here-docker-1-0/"&gt;its launch in 2014&lt;/a&gt; Docker has found a place in almost every development organization that cares about the quality and efficiency of its software development. This growth has been fueled primarily by developers. One reason why developers are such rabid Docker fans is its simple yet powerful list of commands. What used to take many clicks and long commands is now brought down to simple commands that are easy to remember, and build on. &lt;/p&gt;

&lt;p&gt;New to Docker? Let’s delve deeper to know what’s great about the Docker CLI, and some of the most commonly used commands. &lt;/p&gt;

&lt;p&gt;Docker supports hierarchical command structures. The following list of Docker commands consists of child commands to the base command: docker, described above.&lt;/p&gt;

&lt;p&gt;This article covers the most basic commands one needs in order to get started with Docker. See this &lt;a href="https://www.aquasec.com/wiki/display/containers/Docker+CLI+Commands"&gt;Docker CLI&lt;/a&gt; wiki page for a bunch of useful resources to get you started.&lt;/p&gt;

&lt;h3&gt;
  
  
  docker help
&lt;/h3&gt;

&lt;p&gt;This is a useful command when getting started with Docker. Running the docker help command shows you the syntax for Docker commands, and a list of commands with explanations for what they do.&lt;/p&gt;

&lt;p&gt;To get detailed information on any particular command just append the name of the command as follows:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker help run&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This command will show you details of what the run command does.&lt;/p&gt;

&lt;h3&gt;
  
  
  docker run
&lt;/h3&gt;

&lt;p&gt;The run command creates a writable container layer over the specified image. Here’s the syntax for this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker run [OPTIONS] IMAGE [COMMAND] [ARG...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The docker run command has to specify a container image to derive the container from. You can add to or override the image defaults with options for the run command. You can do things like run the container as a foreground or background process, set restart policies, configure network settings, and enforce limits on how much resources the container can consume. &lt;/p&gt;

&lt;h3&gt;
  
  
  docker pull
&lt;/h3&gt;

&lt;p&gt;The docker pull command downloads an image from a repository like Docker Hub. You may opt for a private registry like Quay.io, but the pull command stays the same.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker pull [OPTIONS] image_name:tag&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;By default, all registries scan any downloaded image to check for commonly known vulnerabilities. Using docker pull you can skip this security scan, although, you may never need to as it’s good practice to scan all downloaded images.&lt;/p&gt;

&lt;p&gt;The pull command pulls a single image, but you can set it to pull multiple images using the -a tag. Additionally, while the pull command is running, you can still cancel it using a ctrl+C.&lt;/p&gt;

&lt;h3&gt;
  
  
  docker commit
&lt;/h3&gt;

&lt;p&gt;For developers, especially those that are part of a large team that practices DevOps, the process of ‘committing’ small changes in features is essential to building great software. Docker enables this model of frequent, small updates and has even provided a docker commit command just for this purpose.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once you’ve made changes to a container image and you’d like to publish your changes, you can use the docker commit command. &lt;/p&gt;

&lt;h3&gt;
  
  
  docker rmi
&lt;/h3&gt;

&lt;p&gt;Once downloaded, if you want to remove a certain image you can use the rmi command. You can remove one or more images using the following syntax:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker rmi [OPTIONS] IMAGE [IMAGE...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;By default rmi deletes the image and all parent images as well, if you want to keep untagged parent images you can append the --no-prune option.&lt;/p&gt;

&lt;h3&gt;
  
  
  docker rm
&lt;/h3&gt;

&lt;p&gt;The rm command removes a container, and uses the following format: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker rm [OPTIONS] CONTAINER [CONTAINER...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If the container has already stopped, you can run this command as is. But if the container is still running as a daemon, you need to append the -f option to force remove the container. &lt;/p&gt;

&lt;h3&gt;
  
  
  docker inspect
&lt;/h3&gt;

&lt;p&gt;The inspect command helps you inspect an image or container and view metadata about them. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker inspect [OPTIONS] NAME|ID [NAME|ID...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The inspect command helps you monitor container health, environment variables and more. It retrieves vital information like the Tag, OS Version, IP address, MAC address, and more. To pull specific information about containers you could use the -f argument. The results are displayed in JSON format. &lt;/p&gt;

&lt;h3&gt;
  
  
  docker stop &amp;amp; docker kill
&lt;/h3&gt;

&lt;p&gt;Working with containers means you’ll have to constantly end processes and terminate containers. The docker stop command stops processes running in a container and gives the container a grace period before terminating it. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker stop [OPTIONS] CONTAINER [CONTAINER...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The docker kill command terminates the container immediately.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker kill [OPTIONS] CONTAINER [CONTAINER...]&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  docker restart
&lt;/h3&gt;

&lt;p&gt;When you manually stop or kill containers, or if they are compromised, or if they fail while running, you’d want to restart them to keep your applications resilient. In this case, the docker restart command does the job. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker restart [OPTIONS] CONTAINER [CONTAINER...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There are other ways to restart containers like systemd, but this is the method Docker recommends. Another effective way to restart containers is using a Kubernetes restart policy. &lt;/p&gt;

&lt;h3&gt;
  
  
  docker ps
&lt;/h3&gt;

&lt;p&gt;When you want to view all your containers in a single view, the docker ps command is the one to use. It presents a systematic record of all containers, both running and exited on the host.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker restart [OPTIONS] CONTAINER [CONTAINER...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can use options to show a list of containers created recently, or view their file sizes. This is a great way to “take stock of your inventory” with containers and see what you have running at any given moment. &lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;These are the most commonly used Docker commands, and they help you perform the most essential functions on a day-to-day basis. To make the most of these commands you should be familiar with each command’s options. However, they’re not the entire list. You can view the &lt;a href="https://docs.docker.com/engine/reference/commandline/docker/"&gt;full list&lt;/a&gt; on the Docker documentation. &lt;/p&gt;

&lt;p&gt;As you work with Docker containers, they make development much easier, and more powerful. There are Docker commands for everything from pulling an image, to inspecting it, and committing it.  The key to this is mastering the Docker CLI and the various commands you can use. This includes the options which are unique for each command. One of Docker’s strength is its simple yet powerful CLI, and we’ve seen proof of that in this post.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>dockercli</category>
      <category>dockercommands</category>
      <category>dockercommandline</category>
    </item>
  </channel>
</rss>
