One of our team's favorite year-end customs is to look back at how our IBM Cloud Solution Tutorials evolved, our favorite (new) technologies, and more.
We explored IBM Cloud Schematics and leveraged it in a number of our tutorials. One such tutorial is based on what was, at the time, a recently released production service in our cloud: VMWare Solutions Shared. The Getting Started with IBM Cloud for VMware Solutions Shared tutorial walks through the configuration of VMware networking along with the deployment of a VM utilizing a Terraform template for automation and Schematics for state management.
We made an update to an old favorite — PHP Web Application on a LAMP Stack — this time running on our Virtual Private Cloud. This update included some key capabilities offered by VPC (i.e., security groups and bring-your-own-key (BYOK) encrypted data storage). This tutorial, of course, includes a Terraform template that you can run in IBM Cloud Shell and/or Schematics.
This year, I took the opportunity to learn Go as a programming language. I find it extremely valuable when deep diving into Terraform as all the providers and third-party tools are written in Go. I wrote a tool to read VPC Flow Logs and index them to an Elasticsearch instance running in IBM Cloud, so be sure to check it out.
In a world where all interactions became virtual or from a distance, we found a new use for our solution tutorials. In normal times, users would go through the list of tutorials at their own pace, with their own account. But, working from home did not mean that we had to isolate ourselves. More than ever, there was the need to get together one way or another — mainly virtually — to continue to learn and innovate.
To answer that demand from our clients, we organized virtual workshops and had attendees go through our step-by-step tutorials with instructors in a virtual room. We used tools like Webex or Slack to replace face-to-face dialogue and went into breakout sessions for one-on-one interactions when needed. It worked very well, and it definitely changed how we interact with our clients — remote first.
Speaking of working remotely, I had some fun deploying OpenVPN in IBM Cloud Virtual Private Cloud so that I could access virtual servers from my local machine as if they were in the next room. It is an alternative to our bastion tutorial, one of our VPC-centric tutorials that you can find on our redesigned landing page. The new tutorials library allows you to find all tutorials using a specific set of products:
2020 was a strange year, and if you look for a positive angle, it brought digitalization and new ways to work to many industries and into our homes. It sped up the drive to Zero Trust Architecture to make apps and services easily available without compromising on security. Personally, many of my projects were security-related, including adding the IBM Cloud Security and Compliance Center and Security Advisor to our tutorials.
Starting new cloud projects should be a guided process, and many of the steps can be automated. We published a blog on blueprinting the onboarding of cloud projects using Terraform. The blog and related source code provide a template on how to organize team roles and resources using Identity and Access Management (IAM). The blog "Onboarding Cloud Projects: Security and Resource Considerations" discusses the aspects of access control and resource ownership. Our solution tutorial on how to apply end-to-end security to a cloud application serves as sample scenario for these discussions.
A related fun project was a small Python tool to dig deeper into existing IAM access groups with their policies and user roles. It exploits several of the IBM Cloud REST APIs from the Platform category, namely the IAM Identity Services, IAM Policy Management, and the IAM Access Groups APIs:
Outside of IBM, I have been an adjunct professor at a Cooperative State University in Germany for many years. There, I teach data management and data security. After working on a cloud-based data lake to track the worldwide COVID-19 numbers, I blogged about some of the SQL statements behind those reports. With the daily data updates freely available and knowing how to put rolling averages into SQL, everyone can be a data scientist, or at least better understand the science behind the worldwide reports.
Another area where my IBM work and teaching overlap is Quantum Computing and Data Security. It is fascinating to lecture IT Security students on post-quantum cryptography and then, a few days later, read about how IBM helps protect apps on IBM Cloud with quantum-safe cryptography. It is something we will discuss in updates to our security-related solution tutorials next year.
Another year and I'm still liking Terraform for Infrastructure as Code (IaC). With Terraform, you first write a blueprint for your cloud resources in a text file. Terraform will then turn the blueprint into cloud resources like clusters, load balancers, databases, buckets, etc. Put the blueprint under source code control and the Schematics service will be a central dashboard for team members to iterate and review changes to cloud resources. For me, Terraform is the first tool out of the box when putting a system together.
The VPC team continues to deliver better performance and connectivity. Microservices teams can now own an entire VPC and then use Transit Gateway to connect the microservices together. Check out Team-based privacy using IAM, VPC, Transit Gateway and DNS to see this in action. This tutorial also demonstrates private DNS to identify microservices, allowing implementation changes over time without effecting clients:
Microservices-based development is also featured in the tutorial Deploy microservices with OpenShift. It demonstrates how to get started with microservices development and then get the most out of the cloud. By using cloud services like databases, logging, and metrics, you can focus on writing software and delivering value — the IBM Cloud can manage the other stuff. OpenShift is great on-premises and can be even more powerful in the cloud.
In 2020, I got a chance to draft and contribute to a variety of solution tutorials and use-cases — from VPC to Red Hat OpenShift/Kubernetes to Code Engine. Most of the use-cases that I worked on are an extension to the existing solution tutorials. One of the use-cases is "Extend VPC Resources with Cloud Functions, Activity Tracker with LogDNA, and Schematics." It walks you through on how to automatically assign a floating IP to a newly created VSI by monitoring Activity Tracker events and using Cloud Functions to interact with the VPC API.
Next on my list is "Deploy and Auto Scale Isolated Workloads Across Multiple Zones." This use-case walks you through how to provision and auto scale VSI on VPC using Terraform scripts and explore auto scale scenarios like SSL termination (offloading) and end-to-end encryption.
Coming to the new solution tutorials published this year, one of my favorite is Text analysis with Code Engine. In this tutorial, you will learn about IBM Cloud™ Code Engine by deploying a text analysis with a Natural Language Understanding application. IBM Cloud Code Engine is a fully managed, serverless platform that runs your containerized workloads, including web apps, microservices, event-driven functions, or batch jobs.
Another tutorial that I loved drafting this year was Service Mesh on OpenShift. This tutorial walks you through how to install Red Hat OpenShift Service Mesh alongside microservices for a sample app called BookInfo in a Red Hat OpenShift on IBM Cloud cluster:
The machine learning tutorial Build, deploy, test, retrain and monitor a predictive machine learning model got extended with IBM Watson OpenScale to give businesses insight into the performance of their AI models, helping them monitor how these models are impacting their business operations.
In the quantum computing world, there are many enhancements to Qiskit. Qiskit is an open source quantum computing software development framework for leveraging today's quantum processors in research, education, and business.
Engage with us
If you have feedback, suggestions, or questions about this post, please reach out to us on Twitter (@data_henrik, @l2fprod, @powellquiring, @VidyasagarMSC) or LinkedIn (Dimitri, Frederic, Henrik, Powell, Vidya).
Use the feedback button on individual tutorials to provide suggestions. Moreover, you can open GitHub issues on our code samples for clarifications. We would love to hear from you.