In this episode of the DevOps Talks Alfonso Valdés, the CEO of ClickIT, along with Juan José Rodríguez, VP of engineering will talk about the perfect DevOps toolchain for the financial services companies, in order to comply with the best security standards.
The episode will cover:
- Amazon Lambda
Juanjo: In this video, we will talk about what are the DevOps services and tools that best fit for Fintech applications, in order to comply with best standards and achieve the best possible user experience ever, so let’s get started! We are very happy that you are here with us watching the fourth episode of our Videocast Series about DevOps for Financial Services. Let’s go over the first perfect DevOps tool for Fintech, which is Kubernetes, that it’s actually a very big trend nowadays in the digital companies world. But let’s start by defining, what is Kubernetes? Well, Kubernetes is a container orchestration service developed by Google which uses Docker and it’s hosted in the cloud.
Alfonso: So, Juan José, what does Kubernetes offer for reliability?
Juanjo: First of all, Kubernetes offers Auto-Scaling; secondly, it offers blue/green deployments; third, it offers multi availability zones for its pods, and finally, it offers automated health checks, failovers, and rollback, and this is pretty important for Fintech companies since number one, it ensures that the applications are always up and running without any interruption; and secondly, the blue/green deployments ensure that the application is never down, anytime that you want to upload new code changes into your application.”-
Alfonso: I have another question, why Kubernetes is better than other alternatives?
Juanjo: Basically, Kubernetes is more robust than other container orchestration tools, but we translate this robustness on the fact that Kubernetes offers a better disposability approach for containers. Also, Kubernetes offers a better security layer by creating its own secure networking in the cloud, and lastly, Kubernetes has the big advantage of being able to run on several cloud providers such as AWS, Microsoft Azure and Google Cloud Platform.”-
Alfonso: The second tool is Jenkins for Continuous Integration and Continuous Delivery pipelines. So, what is Jenkins? Well, Jenkins is an end-to-end CI/CD tool, to automate your software delivery process through automation, rapid feedback, code validation, and automated testing. As well Jenkins helps you to unify and merge different branches into one centralized repository, commonly named under GIT. Some of the features that Jenkins has are: Number 1, has the ability to integrate your testing in your Software delivery process, and also in your build process. Number 2, is pretty and extremely robust, is being called the father of the CI/CD pipeline. Number 3 allows you to create blue and green deployments, similar to Kubernetes and Amazon ECS, and the last reason is that Jenkins introduces lean principles like rapid feedback and visible results.
Juanjo: And now Alfonso, I have a question, why should Fintech companies choose Jenkins instead of some of the other CI/CD tools that we find on the market?
Alfonso: One of the reasons is that you can bring your own CI/CD tool internally in your cloud environment, as you might now, financial services require some regulations and compliance to use CI/CD tools internally, the second reason is that Jenkins is pretty cost-effective, you can run jobs in parallel, you can run multiple builds, compared to other cloud alternatives or CI/CD cloud providers that they charge you by executed time and per build, another good reason is that is totally free and obviously is open source, similarly has a broader community with millions of users and thousands of developers to grow this open-source tool. The last reason is that it has several plugins that can be integrated into your tool, for example, Jira, Slack, or any other third party that you need to leverage in your pipeline if your tool is not available you can build your own plugin in this case. Every Fintech should incorporate his own CI CD pipeline, Fintech must adopt a holistic and end-to-end delivery process in order to increase your time to market, web development productivity and reduce web development costs
Alfonso: Juan José, what are some good examples of use cases for Amazon Lambda?
Juanjo: The use cases that Fintech companies can get from AWS Lambda is, first of all, that Fintech companies can code their entire backend using AWS Lambda and without the necessity to have that backend hosted in any server. Secondly, they can automate the update of firmware in hardware devices. Third, Fintech companies can schedule automatic execution for some functions that the application may need for its operations, for example, they can automate the creation of daily analysis reports, they can automatically send content on S3, they can schedule periodic backups, among some of the most important, and lastly, AWS Lambda is scalable, which means that you will never run out of server resources to execute your Lambda functions, and well, these are just the operational benefits for AWS Lambda, but then, there comes another important part which is: what are the economic benefits of implementing AWS Lambda?, so the main advantage, the main benefit that Fintech companies can get from Lambda is that, since Lambda doesn’t use any application server to run, Fintech companies can save the maintenance costs and the ownership cost for having servers that run their backend.
Alfonso: So, Juan José, why Amazon Lambda is the best option for Serverless?
Juanjo: Well, the first reason I would say that is its scalability, as I mentioned before, AWS allows you to have all the necessary server resources that you need to execute your Lambda functions, and the second reason that I would mention why this is better than other serverless services is the cost, AWS Lambda is really cost-effective for Fintech companies since you are only charged a few dollars for a long time execution of Lambda functions.
Alfonso: And the fourth tool is Terraform. Terraform is an open-source tool that allows you to automate infrastructure as code in a flexible repeatable and programmable way. As well, Terraform enables infrastructure to be treated as code, versions and be reviewed by multiple teams and departments. Additionally, terraform is one of the parts of the devops and cloud-native principles which is infrastructure as code.
Juanjo: Alfonso, what would you say that are the most important features or capabilities that Terraform has?
Alfonso: That’s a very good question. The first reason is that Terraform incorporates immutable infrastructure principles, the second reason is that Terraform includes orchestration instead of configuration, you can coordinate and provision your infrastructure. The third reason is that you gain visibility across different teams and departments. And the last reason is that it brings consistency across different environments within your infrastructure.
Juanjo: And, why is Terraform a better option for Infrastructure as Code than other solutions that we can find on the market?
Alfonso: One aspect is that Terraform doesn’t use a master server and is agentless, the second aspect is that terraform separates the planning Phase from the running phase. The third aspect is that terraform supports multi-cloud like Google Cloud, Amazon, and Azure. And the last aspect is that terraform has a broader community around the world, compared to other cloud providers or like cloud formation. Additionally, you can download multiple scripts, Terraform modules, and any template within the internet which is very useful for your automation and to speed up your web development. Now guys, to conclude in Terraform. Terraform and Infrastructure as code are key players in the DevOps landscape as well, you gain more control, more visibility and you get infallible SaaS applications due to the fast and flexible process to recover.
Juanjo: And finally, we have come into the last perfect DevOps tool for Fintech, which is TensorFlow for Machine Learning and Artificial Intelligence; let’s first define what is TensorFlow?; TensorFlow is an open-source tool developed by Google for Machine Learning and Artificial Intelligence, which uses Python and C++ as a base for its coding. TensorFlow also is usually combined with Keras API for creating complex neuronal networks.
Alfonso: What are some of the use cases for TensorFlow in the Financial Services space?
Juanjo: You’ll see, Fintech companies usually have very specific requirements, and on those requirements, TensorFlow can be really useful, for example, TensorFlow can help Fintech companies for making automatic financial advisory, it can also help companies to make fraud detection and prediction, it can also help Fintech companies to make automatic trading decisions, and finally it can make automatic analysis of the trends on insurances and investment.
Alfonso: So. Juan José, this brings me into the next question, what does make TensorFlow the best option for Machine Learning and Artificial Intelligence?
Juanjo: First of all, TensorFlow is really friendly across the different cloud platforms, and we can observe this in the fact that AWS has its own Machine Learning and Artificial Intelligence service which is AWS SageMaker. As you may know, AWS SageMaker is based on TensorFlow. Secondly, TensorFlow has a bigger community of developers, which means that anyone who has any possible issue with his development will easier find the solution to the issues, and also, he would have access to more and new techniques for Machine Learning and Artificial Intelligence. And lastly, Tensorflow has lately integrated Keras API as its high-level API, which gives you the opportunity to extend the use of more features for Machine Learning and Artificial Intelligence.
Alfonso: These are the essential DevOps tools for your financial services applications. Tool number 1: choose Kubernetes whenever you are outside of Amazon Web Services, and you need to be multi-cloud. Tool number 2: go for Jenkins because it is the father of continuous integration and continuous delivery. Tool number 3: go cloud-native with Amazon Lambda and adopt the maximum of the cloud. Tool number 4: love Terraform as we do for your infrastructure as code and automation. And lastly, the last tool for your Machine learning and Artificial intelligence, go for TensorFlow. So, guys, we have concluded this episode about devops tools for financial services, hopefully, you have enjoyed this episode as we did.. thanks for watching us, thank you Juan José, see you later… Bye, bye.