This|blog|is| authored byAmandeep Singh,
Technical Marketing Engineer -Technical Leader at Cisco
We have some exciting news: the popular Application-First Security lab with AWS has been updated,andit is better than ever! It has now been redesigned to follow the Cisco Validated Design "Securing Cloud-Native Applications -AWS Design Guide". We also have an updated DevNet Sandbox, which you can use to go through this lab. This lab is "ByoAWS", or bring your own AWS org (unless you are at a proctored Cisco event). That being said, we have a cleanup script that deletes all resources afterwards, so the costs should be minimal when you go through the lab (only a couple of$).
In this lab you'll deploythe Sock Shop microservices demo application, maintained by Weaveworks and Container Solutions. Sock Shop simulates the user-facing part of an e-commerce website that sells socks. All of the Sock Shop source is on GitHub and you'll be updating part of the application's source code in a future portion of the lab.
Before we go into the details, let's take a step back. If you are familiar with Cisco Application-First Security, then you can skip ahead to the updates.
Cisco's Application-First Security solution enables you to gain visibility into application behavior and increase the effectiveness of security controls by combining capabilities of best-in-class products including Cisco Secure Workload, Cisco Secure Cloud Analytics Cloud, Cisco Duo Beyond and Cisco AppDynamics with Secure Application (not yet part of the lab, coming soon!). Key features include:
In the lab you will secure a cloud-native application (i.e. Sock Shop) and public cloud infrastructure using the earlier mentioned Cisco Solutions. You'll stage the infrastructure, modify and deploy the application, instrument the security products into the environment. In the process, you'll get your hands dirty with products and technologies including git, Kubernetes, GitLab, Docker, AWS and others.
As mentioned, this lab has now been redesigned to follow the Cisco Validated Design "Securing Cloud-Native Applications -AWS Design Guide". This lab uses AWS to host the workloads and applications and takes advantage of many of their native services. This diagram shows how the different components are logically connected:
Now this diagram obviously doesn't really show what the end user might see. Below you see a screenshot of the Sock Shop front end page. When first deployed, no security tools are installed yet!
The lab has been updated to now include GitLab. The deployment of the Kubernetes cluster now works with a GitLab pipeline, to give an example of how this would look like in real world scenario. Pipelines are the top-level component of continuous integration, delivery, and deployment.
Pipelines comprise of jobs and stages:
In an yml file, you can define the scripts and the commands that you want to run. The scripts are grouped into jobs, and jobs run as part of a larger pipeline. You can group multiple independent jobs into stages that run in a defined order. You should organize your jobs in a sequence that suits your application and is in accordance with the tests you wish to perform. To visualize the process, imagine the scripts you add to jobs are the same as CLI commands you run on your computer tobuild, test and deploy your application.
Something else that is new is a deployment bash script that will automatically do all of the preparation steps for you. The nice thing about this is that if you only want to do the Secure Workload, Secure Cloud Analytics or only the Duo lab section, you can do that now. Before this lab was not that modular, and took in total at least 4 hours. To do this, all you need to do is rundeployinfraformefrom the AWS Cloud9 terminal window and you can choose. Obviously, we recommend going through the entire lab, since setting up the Kubernetes cluster is very educational.
We hope that you are as excited as we are, and want to get started right away! To do so, make sure you have an AWS account and a DevNet Sandbox reserved. All of the lab instructions can be found here. If you need help, please be aware that we have a dedicated Application Security section in our Cisco Developer Community!
We'd love to hear what you think. Ask a question or leave a comment below.
And stay connected with Cisco DevNet on social!
LinkedIn | Twitter @CiscoDevNet | Facebook | Developer Video Channel