About the Presenter
So, let me introduce our presenter. So, today, Dan Freeman is going to be sharing with us. Dan is a Senior Solutions Consultant at HelpSystems for the GoAnywhere product line. Dan has spent the last 10 years of his career in various security roles, ranging from systems engineer to security officer. And, as a CISSP, Dan has designed networks, systems, and procedures to ensure regulatory compliance using the NIST Risk Management Framework and HIPAA standards. So, Dan, thanks so much for being with us today, and I will let you take it from here!
Dan: All right, sounds good. First off, can you guys hear me okay?
Brooke: We can hear ya.
Dan: All right, great. All right, Brooke, thanks for the intro and thanks to everybody in attendance today. Hopefully we can learn a little somethin' and maybe have some fun along the way. All right, that second part might be a bit of a stretch. But, in any case, when talking about Advanced Workflows and GoAnywhere, we're basically talking about automation. Now, what's the big deal with automation, you ask? Well, let's quickly converse about just a few of the many benefits of eliminating those manual processes from your organization. How about reduced cost? And, more and more computing resources and total cost of ownership of those resources is getting pretty low. The bulk of the costs remain with the operation staff, and sometimes as high as 70%. Time savings, which ties right into reduced costs, as we all know time is money. Now with automation providing by job scheduling and batch processing, we can eliminate the human linear performance issues, leading into improved operational efficiency or productivity. Now this blends in with that cost reduction as well.
Efficiency is described as the extent to which time, effort, and cost is applied. And automation ensures processes run as designed while eliminating manual process errors and keeping true to your best practices. Now avoiding human errors flows nicely into advantage reliability. I really hate using a quote from a previous webinar, but as Alexander Pope once said, to err is human. And we all know how users and customers, not to mention your boss, really hates it when business processes fail. Now we could definitely sprinkle in governance here as well. Automation helps you get back to those reliable best practices, ensuring for a secure and inviting environment. Now these are just a few of the advantages of what automation can do for you and your specific business processes. Today we'll take a look at the broad spectrum of automation and apply it to Managed File Transfer and how GoAnywhere can help you attain the aforementioned benefits and much more through Advanced Workflows. So let's jump right in and take a peek at 10 of these advantages. But first, I kinda want to explain this slide here. Now I realize this could be a bit old school for some in attendance but basically what you're looking at is a picture of a scene in I Love Lucy where Lucy and Ethel are asked to wrap chocolates on the assembly line. Now things do get a bit hectic when the chocolates are rolling in faster than they can keep up and they start shoveling them in their mouths, hats, clothes, whatever, just so their boss doesn't see that they're not keeping up to business here. Yeah, I know, that was a pretty cheesy and maybe a bit of a stretch to illustrate how automation can provide productive efficiency, reliability, and a lot of advantages over our human counterparts. That was about as far as my imagination took me on this one. Okay, with that, let's go ahead and get started.
Use #1: Create Projects with No Programming Skills
Point one, that's create projects with no programming skills. Now I have to admit this one hits home for me, having 15 years or so system admin security background and no, I repeat, no programming experience, unless you count the C++ and Cobalt classes I was required to take in college. I'm a perfect example of someone who can create effective projects leveraging the easy UI of the project designer window, with our drag and drop components, over 100 unique tasks for detail and virtually limitless Workflow possibilities. All this with absolutely no scripting needed, thank goodness. Now this is at a high level, in some respects, not giving it proper respect, your replacement for those traditional script files. Although projects are much more flexible. And did I mention, they're easy to create.
Now this here in the little picture of the project designer window, don't fret, we'll go over that in the live demo. So we'll kinda go through how we can actually create these projects. And by the way, I think this is one of, the reason why this is number one, and this is a huge reason that separates us from a lot of our competitors, that ease of use.
Use #2: Configure Advanced Workflow Resources
All right, case two, now resources are gonna be an essential function and act as the arms, or client, per se, of GoAnywhere. There's over 20 different resources types to allow GoAnywhere to connect up to. Now these predefined connections for internal servers as well as external trading partners and locations make it really easy to build out these projects to manipulate and move files. You have things like, over here, your Amazon S3 buckets, your Azure Blob Storage. These can facilitate cloud deployments, or maybe just to offload archive backup data to cheap storage. We've also got things like popular database servers.
Database servers, you know, maybe you're querying customer database for information to put out into an Excel file, or vice versa. You're taking a CSV file or shell file, reading it, and inserting it into a database. Your network locations, very common resource. This is going to define shares throughout your network for that automated file movement. Email servers, this could be whether you're leveraging an SMTP service, probably most commonly exchange server, to send out emails from GoAnywhere for alerting or maybe even secure mail functions, or maybe monitoring specific mailboxes for parsing out information for further processing. And you have your file transfer servers like your FTP, FTPS, SFTP, AS2, ACTPS, all of those that you can set up once to define to have that help you with that automated movement. Now these are all defined once. If something changes, you change it at the resource level here. I think that's very important to point out as maybe some of those folks on the attendance today dealt with those native scripts and you had certain resources that were doing FTP or FTPS and an IP address or username changed. It could be an absolute nightmare hunting down where those were actually used to change all those different locations where those scripts are at. Here you just change it at the resource level. And if that resource is being used in a hundred different projects, it'll trickle down and change for ya.
Use #3: Translate Data into Different Formats
All right, moving on to number three, translating data into different formats. Now this one, GoAnywhere Advanced Workflows comes with 15 different tasks for data translations. Now these functions can allow you to read and write files into multiple different formats. Now these here, actually looking at a couple examples, and we'll look through this in the project designer window. The read, write of CSV, Excel, Fixed-Width, XML, JSON type files, reading in flat files, or maybe an example we'll look at, maybe a file isn't quite a file yet. We can do a SQL query to pull out information and then write it to a CSV or an Excel file or whatever format that you wanted to do. Now a lot of those things when we're pulling information out we're gonna put those into a RowSet. Now RowSets are gonna be virtually what you're seeing in this picture over here. It'll be a big complex variable that will have different rows, columns, and all kinds of different information in it. The modify RowSet is maybe you wanna parse out just a specific piece of that original RowSet that you pulled out. You can make that modified RowSet to do further processing with that modified RowSet that you just created. So a lot of different ways that you can translate information within these projects.
Use #4: Automate File Encryption/Decryption
All right, number four, automating file encryption, decryption. We see this one a lot. I think this one helps out a lot of things. I think it's a pretty straightforward, I don't wanna belittle it, simple process, but when you take it out of the hands of your users it really, really hits home and resonates with people to be able to do this automatically. So this makes you do this, automate that encryption and decryption process within your actual workflows. I don't know how familiar you guys are with that PGP encryption process. Not so much the technical inner workings of it that's going on over here in this picture, but those folks that actually have to do that PGP encrypt, decrypt, or digitally signing, you know it's a bit tedious and not to mention, if you administer more than one trading partner, you can definitely run the risk of choosing the wrong key. So these, having this automated from an encryption, decryption as well as your digital signatures and verification, all this being done using the open PGP standard. I think this definitely helps going through and eliminating those potential errors if you're letting your actual users manage those PGP keys and actually applying them and sending them out. We'll kinda show you how we can automate that.
Use #5: Create and Use Conditional Statements
All right, case five, create and use conditional statements. Conditional statements make for great job control throughout your projects. You can chain Advanced Workflows tasks together. These tasks will perform if the workflow runs and prior conditions are true. So in this case here, hopefully you can see that graphic decently here, but in this case we're creating a file list, a couple different file lists, and I know you can't see the properties, but one's a local file list and ones a remote file list. So the very first thing we're looking at, our first if condition is a pretty basic one. And it's looking at that local create file list to see are there any local files even there. If that's the case, then great. We're gonna go through all these iterations of steps. Now if there's no local files then we'll just jump right out and go to no local files to move. We'll send an email and say, hey, there's no local files to move. If so, this is where we kinda integrate our loops. For that further job control, those conditional statements, leveraging that if else logic within these for each loops to parse through these complex variables that we're creating here. This creating a file list is gonna create either one, five, 10, 100, we don't know how many files it's gonna create when we're looking at a base directory. So it's gonna parse through each individual file list to see if, in this case here, if the local file list, and again, this is gonna be a colon name, which is an attribute of the actual variable, equals the remote file. So in this case, this customer wanted to compare the local file system to the remote file system. If there is an actual file that was already there, they wanted to rename it in a certain format, and then do an SFTP put. And then a quick little email notification saying, hey, you know what, there was an actual file out there with the same name, we went ahead and reread it. If not, if this little if statement here, you'll notice you'll see how they line up there. If it's not the same, then I'm just gonna do a simple SFTP put file. So a lot of great granular control that you can use within these Advanced Workflows and it's not anything too difficult. As you see the logic here. And you'll see when we get in, the UI makes it pretty straightforward to go through these projects to do your if thens, your loops and things like that, where again, someone like myself, who has no programming background, this stuff wasn't too hard to pick up on to actually do your own quote unquote scripting through our advanced UI.
Use #6: Reference Projects as a Common Function
All right, number six, reference projects as common function or utilities. These projects you can create and be called or referenced by multiple projects. Meaning if I'm in a certain project, and we'll look at a couple when we get into the demo, and I get to a certain errors module, or I wanna capture an error with an actual project, maybe that error is going to simply send out an email. In this case, in this actual project here, we're actually gonna pass in some parameters as variables. We're actually going to make a SQL entry, and we'll look at this project when we get in there, and send out an email. Now, granted, you could do this within each individual project, but if it's gonna be something that's common, and this is a pretty straightforward simple example, but if it's gonna be something that's commonly used or used over and over again, this is where we can use the call project task, which we'll take a look at, within your projects so that you don't have to do all of this within every single project. You can just say, hey if there's an error, and we'll call an errors module, we're just gonna use the call project task to call this common error project to do its thing and then pass back control back to the original project. So a great place for you to do those common tasks. This one, again, seems very simple. But at some point, maybe you wanna add to this error project. In that case, you do it right here. You don't have to do it through all the project that you're using.
Use #7: Run Workflows in Debug Mode
Move on, number seven. Run Workflows in Debug mode. Now here we can run the Advanced Workflows in Debug mode, meaning this allows for nice, easy troubleshooting of those individual projects. So we're then going through and I realize this graphic is a little light, we'll go through a Debug mode when we get into the demo here. In this case we can go through step by step. And I know we haven't talked about the project outlines too much, but in the high sense, you're basically dragging in tasks sequentially. And it's just outlining the tasks so they go one by one. And so how the Debug is gonna work, when we hit the next it's going to go ahead and go each task at a time. As it does that it's gonna write out the job log, and it's gonna be showing right here. We're also gonna see the task that's currently been done, and then also the next task coming up. So when we hit next the job log's gonna fill out a little bit more information, and we also have a variables tab here, you'll notice. Well, if you can see that. If there are any variables defined, whether they're user defined or whether they're output from maybe a SQL task, you can also monitor step by step if those variables change to see what they change to or if variables were added during each step. So it's a great way for you to go through no the debugging process if you do have problems within individual projects. And we'll kinda go through that here in just a little bit.
Use #8: Reference Projects as a Common Function
Okay, now the previous seven use cases dealt with a concept of projects and all the elements, tasks, and resources that support their automated business functions. Now the last three users, or use cases, sorry, will deal with how projects are kicked off and to further expand the automated process. So here, this one specific is talking about scheduling and automating GoAnywhere reports. But in essence, the scheduler is gonna be one way that we can kick off projects. Again, this one's talking about automating reports so that you can send something maybe to your C level staff or your sys admins when projects fail or you wanna send an actual report, maybe we have a system security audit report that goes through about 76 different settings within GoAnywhere to see if you are compliant, as far as the security standard goes. We match those up to PCIDSS standards. That's something maybe you wanna send to your syso once a month or once a week. Those are one of the projects that you can send. Or maybe you wanna send the recently blacklisted IP addresses to your security guy. In any case, these are things that you can generate these reports, deliver them, and send those email or text notifications to let them know they're there. All from a scheduled basis. But it can be more than just the reports that we have on this page. The actual scheduler can go in and kick off any of these projects. We'll go through the scheduler window here when we actually get into the product and the demo. But this is one of the ways that we can kick off the actual projects that we built.
Use #9: Control Data Security with Triggers
All right, number nine. We've got our control data security with triggers. Now triggers are basically, or completely, I shouldn't say basically, they are completely based off of web user activity. I'll take a step back real quick. There's basically two users within GoAnywhere. We have administrative users which are those folks that are gonna log into the admin portal to do the configuration, installation, and things like that. A completely separate user is called a web user. And those users, not be a misnomer with HTTP or HTTPS, but those web users are gonna be the folks that you're creating to actually log into GoAnywhere to leverage whatever service you're offering. Whether that is HTTPS web client, AS2, FTP, FTPS, SFTP, whatever that case may be, any of those actions that they're doing when they upload a file, when they don't log in successfully, when their account gets disabled, log in, download failed, things like that. Those are gonna kick off certain events. Now these triggered events can cause responses like, maybe just receiving an email when a file upload is uploaded by a trading partner. We'll kinda go through an example of that exact situation. Or maybe automatically removing a partial file from a folder if the file upload is unsuccessful. In any case, there's a lot of different actions that can be done based off of web user activity, depending upon how you set up the trigger. And we'll go through a trigger example here in just a few minutes. Base triggers can automate those projects and notifications based on user actions in GoAnywhere and much, much more.
Use #10: Monitor Files for Determined Events
All right last but not least here, we've got our monitor files for determined events. Now this here, Advanced Workflows can do file-based monitoring for certain events. In that bullet point here, the examples include monitoring for files that are created or modified, explicitly just created, explicitly just modified, or whether they're deleted, or if they just flat out exist. So in here, again, the main point here is you're gonna be monitoring a certain location, whether it's a local network share, or as you'll see when we get in there, you can also look at SFTP, FTPS, or FTP resources that you have access to. We can look at those folders. Again, we got recursive, whether the file exists, that's your event type here. And then kinda going through, you can use wild card or if you're regular expression or reg ex savvy, you can definitely choose a pattern type of regular expression. In any case, this is gonna be your way of monitoring for those folders, any files that come in based upon your event type that you choose to go ahead and kick off a project. And we'll kinda take a look at that as well. So let's go ahead and jump in there. Let me get outta here and share my screen. And I'm hoping you guys can see my screen.
First thing that we'll look at, we kinda talked about bullet point number two, we talked about those resources. So before we jump into the projects and some of the examples, I think it's a really good idea to understand what I think is a very fundamental piece and very pivotal on how GoAnywhere does, it's automated file movement and manipulation. And that's gonna be through our resources. Resources, again, as I briefly mentioned. This is gonna be our way to spider out and leverage other servers and services, whether on your local network or they could be off your network, in the case of maybe some FTP, FTPS, SFTP, different types of servers here.
Schedule Your Own Live Demo