STEP 1 - LEARN A DEVELOPMENT LANGUAGE
... or many development languages
A career in cloud computing can take many forms depending on your experience and knowledge of specific tasks. However, if you’re eager to learn cloud computing from scratch or craft a successful career, here is a potential career path:
- Learn fundamentals of programming languages, operating systems, and databases. Next, study security and networks to understand how all these elements are interlinked to form an agile development process.
- Take an online course on cloud computing. Any good course will offer an overview of both the economic and technical aspects of development in the cloud.
- Learn a development language such as Linux and Python. Since the cloud infrastructure is mostly built around Linux, it is easier to understand and solve real-world problems. Afterward, get a certification in networking depending on your goals and networking skills.
- Lastly, you can test your skills on AWS, Amazon Web Services. It’s perhaps the simplest and fastest-growing cloud platform out there. Similarly, you can use GitHub to create a portfolio for future employers.
STEP 2 - INTRODUCING SAAS
SaaS, Software as a Service, is a way of delivering the service over the Internet. In simple words, SaaS let clients install, maintain, and use applications remotely instead of investing in physical infrastructure.
In a way, Cloud and the Internet are similar. When something is in the cloud, it’s stored on the Internet server instead of the computer’s hard drive. This cloud-based method of providing software to users requires coding skills and experience mentioned in the previous section.
SaaS is growing at a rapid pace. Amid the popularity, it’s estimated that one-third of companies will switch to SaaS by the end of 2022. To meet growing needs, here is a look at a few different types of SaaS providers:
- Amazon Web Services: Trusted by NASA, US Navy, and Netflix, AWS offers more than 150 services over the cloud. You can acquire multiple AWS certifications and start a career in this niche.
- Salesforce: It’s one of the most popular cloud-based CRM tools that let businesses collect, store, access, monitor, and analyze customer data from a single dashboard.
- G Suite: Google offers one of the best free tools to its users. Gmail, Hangouts, Sheets, Docs, and Photos are examples of cloud-based apps.
Evaluating SaaS: Users
Follow these steps to evaluate a SaaS provider:
- Define Your Needs
- Create a Budget
- Compare Features
- Consider the User Interface
- Read Online Reviews
- Use a Free Trial
- Evaluate Customer Support
The Impact of SaaS
- From 2008 to 2020, the value of the top 5 public SaaS companies increased by 44x.
- SaaS is the largest cloud computing segment. It’s larger than Platform as a Service (PaaS) and infrastructure as a Service (IaaS).
- It only takes 7 hours to fully implement a SaaS solution on the cloud.
- Building a software company is 10x faster than a decade ago.
- In the next five years, experts estimate that 95% of workloads will run in the cloud.
STEP 3 - UNDERSTAND DIFFERENT OS CONCEPTS
A cloud operating system is designed to function within cloud computing and virtualization environments. Examples of the cloud-based OS include Azure, Google Chrome, and Netvibes.
The five critical aspects of development are:
- Main Memory Management
- Processor Management
- Device Management
- File Management
- User Interface
STEP 4 - LEARN HOW TO LIVE IN A TERMINAL
If you want to feel comfortable as a DevOps engineer, try to operate using command lines only. In other words, living in a terminal means using text-based command-line software instead of a graphical user interface. The following software will come in handy:
- w3m: For Web browsing.
- Alpine Email Client: For emails.
- Finch by Pidgin: For instant messaging.
- WordGrinder: For Word Processing.
- VisiCalc: For spreadsheets.
- Tpp/Text Presentation Program: For presentations.
- Midnight Commander: For file management.
STEP 5 - CREATE A VIRTUAL MACHINE
A virtual machine lets you run an operating system inside another operating system. For instance, you can run and install Linux OS inside a Windows operating system. Accordingly, the virtual operating system will behave as an independent system letting developers try out apps in a safe, sandboxed environment.
Here are the basic steps to create a virtual machine on Windows:
- Install a virtual machine app. You can easily find these apps online.
- Run the automatic installer to install the desired operating system as an independent OS on the computer.
- Select your preferred networking parameters.
- The system will create a virtual hard disk on your computer. Use your new operating system to run compatible apps.
Creating a Linux VM
If this is your first time experimenting with a virtual machine, try creating a Linux OS on Windows. Linux is arguably the most user-friendly operating system designed for the Internet of Things. Many Linux distributions exist, but Ubuntu is a popular choice due to its user-friendly interface. Here’s how to do it:
- Download Ubuntu. Select 32-bit or 64-bit versions depending on the hardware resources of your computer.
- Install, VirtualBox, or any other VM app of your choice.
- When prompted, select VirtualBox Image as the hard disk type. It will create a virtual hard drive on your computer.
- Ignore the initial warnings and errors when starting the VM, and follow the ensuing instructions to complete the setup.
Create a Virtual Network
Virtual networking enables the communication between multiple computers, servers, and data centers using the Internet. Use MS Azure to create a virtual network. Subsequently, you can also use Azure to create virtual machines, similar to the ones described in the previous section.
- Sign-in to Azure Portal.
- “Create a resource” in the portal.
- Type “virtual network” in the search box, then select “create”.
- In the following section, enter the basic information about the intended “virtual network”.
- Enter pertinent information in the “IP Addresses” and “Security” tab. You can consult the official Microsoft website to get additional information on this subject.
- Select the “Review + create tab” to create your virtual network.
Create a Storage Account
If you’re interested in creating a storage account for your virtual network, you can try MS Azure to brush up on your skills. It offers a user-friendly interface and a variety of ways to store data. Here is how to do it:
- Login to Azure Portal. You will need to get a subscription if you haven’t done so.
- Select, “More Services” from the main page.
- In the search field, type “storage account” from the list of services.
- Select “Create storage account” from the subsequent menu. Microsoft has a dedicated page for creating a storage account on Azure. You can also follow their official guide to configure account settings.
Create a SQL database
There is little doubt that SQL is the most in-demand skill and easy-to-learn language. The best way to learn about it is to create an SQL database. There are lots of free cloud-based compilers out there. Google Cloud SQL is perhaps the best-known cloud development service for the task.
Follow these steps to create a MYSQL instance in the cloud:
- Go to the Cloud SQL Instances page.
- Click, “create instances”.
- Choose MYSQL on the Choose your database engine panel.
- Name your SQL instance in the “Instance info pane”.
- Set a password for the user.
- Pick a database version for your instance.
- Select the region and zone for your instance. For ease of access, place your instance in the same region as the resources that access it.
- You can update your settings in the customize your instance section. Consult this page if you need help with the settings.
- Click “create instance”.
STEP 6 - GET TO KNOW CLOUD PLATFORMS
Cloud platforms constitute infrastructure, hardware, and software resources on the cloud. The four main types of cloud platforms are:
- Public Clouds: Public clouds run off-premises, and they are redistributed to multiple tenants. Amazon Web Services, Google Cloud, and MS Azure are examples of public clouds.
- Private Clouds: As the name suggests, private clouds are dedicated to end-user. They’re either deployed on-premises or located off-premises.
- Hybrid Clouds: An IT environment connected through LAN, WAN, and VPN is an example of a hybrid cloud.
- Multi Clouds: Multi clouds is a network configuration made by more than one cloud vendor and cloud service.
Evaluating Cloud Platforms
The primary evaluation criteria for cloud platforms should include:
- Service Levels
Cloud Platform Technologies
A cloud platform typically incorporates three different components: application, platform, and infrastructure.
- Application: Content, Finance, Communication, Collaboration, Monitoring.
- Platform: Identity, Runtime, Queue, Database, Containerization, Object Storage.
- Infrastructure: Block Storage, Network, Switches, Hardware.
Example: Amazon Web Services
Launched in 2002, AWS offers a pay-as-you-go computing model for more than 200 services. It has data centers in more than 190 countries. After subscribing, you can easily set it up with just a few clicks. In addition, automated wizards and workflows are quite helpful in building and learning different modules.
Example: Microsoft Azure
Microsoft Azure is a popular public cloud offered by Microsoft Corporation. Just like Amazon Web Service, it’s a pay-as-you-go service that claims to support almost any kind of operating system, language, tool, or framework. If you prefer, you can get a free trial and $200 in credits to try it out.
Example: Google Cloud Platform
Google Cloud offers cloud computing services letting you run and build your apps anywhere. Teams can easily collaborate using integrated video calls, email, chat, and document collaboration. If you love the Google interface, you can try the platform free of cost. However, keep in mind that you only get 20 products in the free version.
Other Cloud Platforms
Besides the big three, AWS, MS Azure, and Google, there are lots of other cloud-based platforms that can help you learn. You can try Alibaba Cloud, Oracle Cloud, and IBM Cloud. Of these, Alibaba Cloud and Google Cloud Platforms are the cheapest. Fortunately, almost all of them offer some kind of a free tier that you can use to test your coding skills.
Low-code development platforms are used to create application software using a graphical user interface that may not require coding skills. Using low-code platforms, you can quickly build and deploy apps. Such platforms don’t require a huge learning curve; therefore, more people can collaborate to design a particular app.
Here are different variations of such platforms:
- Visual Lansa — Free Trial — As low as $8.34 per user/month.
- Retool — Free Plan — As low as $10 per user/month.
- The m-Power — Unlimited Use — Starts at $1,500 per month.
Cloud Platform Pricing
All the major cloud computing providers use a cloud instance to charge their clients. In simple words, a virtual machine or a server running an application is one instance.
Based on the instance, the cloud computing pricing models are classified as pay-as-you-go, subscription-based, and a combination of the two. According to Simform, a tech solution provider, the type of instances can be further divided into general purpose computing, compute optimized, memory-optimized, and accelerated computing.
In most cases, you can get a substantial discount by making a 1-year commitment. The discount can be as much as 75% of the base amount. Here is a breakdown of prices when you commit for one year:
Amazon Web Services
General Purpose: $0.097
Compute Optimized: $0.086
Memory Optimized: $0.127
Accelerated Computing: $0.614
General Purpose: $0.0974
Compute Optimized: $0.100
Memory Optimized: $0.148
Accelerated Computing: $0.309
General Purpose: $0.014
Compute Optimized: $0.021
Memory Optimized: $0.021
Accelerated Computing: $2.313
Multi Cloud is a cloud architecture made from more than one public or private cloud, sourced from different vendors. It’s not a hybrid cloud because a hybrid cloud is typically managed by a single entity.
Since multi cloud is often costly, most organizations use multi-cloud architecture for specific reasons. For instance, it can be used for disaster recovery preventing infrastructure from failing at once.
The Impact of Cloud Platforms
Cloud platforms have made a substantial impact on our lives. Here is how they’ve changed businesses, the workforce, and society.
- Impact on Businesses: Cost reduction; scalability; flexibility; unlimited storage; and disaster recovery.
- Impact on Workforce: Virtual workspace; enhanced productivity; work-life balance; and low learning curve.
- Impact on Society: Education; Awareness; Entertainment; Shopping; and Healthcare.
Introducing Private Clouds
A private cloud is a network infrastructure dedicated to the use of a single organization. Some cloud providers specialize in setting up such networks. Depending on the use, it can be divided into four categories:
- Virtual Cloud: In this configuration, the private cloud solution is provided within a public cloud provider’s infrastructure. Instead of the IT department, the majority of services are handled by the cloud provider.
- Managed Cloud: A managed cloud is dedicated to a single user. Unlike a virtual private cloud, the infrastructure is not shared among different companies.
- Hosted Cloud: In this setup, the cloud provider can reside on-premises or in the data center. In a hosted private cloud model, users get access to additional resources and a dedicated support team.
- On-Premises Private Cloud: Such private clouds are internally managed by the IT team. Usually, the data center is hosted and managed by an organization’s internal IT department.
Example: Microsoft Azure Stack
It’s a popular cloud computing solution that allows organizations to build an on-premises private cloud. Today, most major hardware vendors including Dell, Lenovo, Cisco, HP, and Huawei partner with Microsoft to offer the service.
Example: AWS Greengrass
AWS IoT Greengrass offers pre-built software modules that let developers extend edge device functionality. For instance, if you own transportation service, you can remotely deploy, configure, and manage such devices on a fleet.
Example: Edge Computing
An Edge can be a part of a private cloud. If the storage and computing capabilities provided by the edge devices are abstracted, pooled, and shared across a network, the configuration can take advantage of both the public cloud and edge computing.
The Impact of Private Clouds
Private clouds are privately owned networks that are secured behind a firewall and available only to a limited number of users. These qualities define the way they impact businesses around the world.
Private clouds are important because:
- They offer enhanced security letting businesses define their own security features.
- Private clouds provide flexibility enabling the network to scale without restrictions imposed by traditional clouds.
- Private clouds are economical because they help businesses allocate resources efficiently without putting strain on the network.
- They’re more reliable than most other types of cloud networks. Their ability to operate across numerous servers and pull resources from different areas makes them safer.
STEP 7 - DEPLOY CONTAINER INSTANCES
Azure container instance, ACI, lets users run containers on the public cloud without requiring the use of virtual machines.
Follow these steps:
- Select “create a resource” on MS Azure portal.
- On the following page, select container instances under the container menu.
- Enter values for the resource group, container name, image source, and container image.
- Select the “Networking” tab. Specify a “DNS name label” for the container.
- Click “Review + Create”. After reviewing the parameters, submit the container deployment request.
STEP 8 - CREATE A WEB APP
You can easily create a web app on the cloud; however, there are multiple steps involved in the process. Here is a typical roadmap:
- Research the target market.
- Hire a development team.
- Evaluate the architecture and features of the app.
- Define the tech stack.
- Chose a monetization model.
- Test the app by launching an MVP.
- Before the final launch, test and fix any bugs.
STEP 9 - UNDERSTAND NETWORK SECURITY RULES
A network can encompass several security tiers. It can include physical, data link, network, transport, session, presentation, and application layers. Therefore, it is important to understand the cloud security rules and how all the interrelated virtual components impact the overall design.
STEP 10 - LEARN INFRASTRUCTURE AS A CODE
Infrastructure as Code, IaC, is managing and provisioning infrastructure through code instead of manual configuration. If you’re a developer, learning Infrastructure as Code will take away the majority of the provisioning task, so you can execute a script instead of doing things manually.
Codifying the infrastructure gives you a template to follow, which can help you by:
- Reducing costs.
- Increasing the speed of deployment.
- Reducing errors.
- Improving infrastructure consistency.
- Eliminating configuration drift.
STEP 11 - CREATE A LOAD BALANCER
Load balancers can automatically distribute your incoming traffic to multiple targets in one or more Availability Zones. Here are the main steps to create a classic load balancer in AWS:
- Select a load balancer type.
- Define your load balancer.
- Assign security groups to your defined load balancer in a VPC.
- Configure health checks for your EC2 instances.
- Register the EC2 instance with your load balancer.
- Tag your load balancer.
- Create and verify your load balancer.
DOCKER AND KUBERNETES
Docker and Kubernetes – Ansible, Chef, Salt, and Puppet
Docker and Kubernetes are increasingly used together for building, delivering, and scaling containerized apps. It’s important to understand that Docker is a container file format, whereas Kubernetes orchestration software offers an API to control how and where those containers will run.
Here are a few more tools that are sometimes used in conjunction with Docker and Kubernetes:
- Ansible is a popular IT automation tool that deploys software, configures system, and help organize complex systems.
- Chef is a tool that enables developers to manage and scale cloud infrastructure with no downtime or interruptions.
- Salt is a fast, scalable, and flexible software for data center automation.
- Puppet is a bit similar to Dockers, but it is primarily used to manage files, packages, and services instead of documents.
UNDERSTANDING DATABASE SERVICES
Database as a service, DBaaS, is a cloud-computing managed service that offers access to a database without the physical setup. In general terms, cloud databases are hosted in the cloud instead of the physical hardware. Google Cloud SQL is an example of a database hosted in the cloud.