Cloud: Why learn it now?
Let's start!
What is Cloud Computing
According to NIST (National Institute of Standards and Technology)
a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models
Main characteristics of cloud
On-demand self-service - Automatic provisioning of the underlying computing resources without human interaction
Broader network access - Can be access with multiple platforms
Resource pooling - Multiple customers are served within the same resources with security and privacy
Rapid Elasticity - Acquire and dispose resources based on demand
Measure Service - Bill only the used resources by the customers
Service Models
The different models describe who manages the different resources in the cloud. Both the cloud provider and customer shares a responsibility in the platform.
IaaS (Infrastructure-as-a-Service)
- The cloud provider is responsible in provisioning the underlying virtualization, servers, storage and networking
- The customer is responsible in maintaining applications, data, runtime, middleware and OS
PaaS (Platform-as-a-Service)
- The cloud provider is responsible in provisioning the underlying runtime, middleware, OS, virtualization, servers, storage and networking
- The customer is responsible in maintaining applications and data
SaaS (Infrastructure-as-a-Service)
- The cloud provider is responsible in provisioning all the underlying resources
- The customer access the application provided by the provider
Why deal with the cloud now?
Cloud is an exciting domain to pursue and compose of different professions (at least in my organization). Dealing with this now is a great investment to your career also it is fun to use a cloud infrastructure. These are the known professions that I've encountered in a pro-cloud organization.
Cloud Architects - Obviously, this will be the first role which you will encounter in an organization both big or small. These people handles the tech standards and business side of things. They present the most cost-effective approach using the right Cloud Platform
Cloud Developers - Develop and maintain applications using cloud technologies
Cloud Administrators - Configure and maintain the hardware aspects using different cloud services
Cloud Security Engineers - Builds and maintains security of a cloud platform
Application Modernization
Modernizing applications from on-premise to cloud is a trend right now and most of the organizations are starting to do it. A report from Konveyor showing the current state of modernization in different regions. It stated the six modernization strategies used by different organizations.
Retire - Decommission applications that are not in used
Retain - Leave critical applications since it may be refactored
Rehost - Transfer on-premise applications to cloud with no significant code change
Replatform - Use cloud migration strategies to enable cloud-specific components in your application
Refactor - Modify the existing application code to take advantage the Microservice or Serverless architecture
Repurchase - Use of SaaS (Software-as-a-Service) model
Fundamentals Certifications
There are different cloud certifications that you can take and start to learn with. Most of top certifications are from AWS, Azure, Google Cloud and Oracle Cloud. I took most of the certifications and the required trainings to easily pass them all.
AWS Cloud Practitioner - AWS CCP Course
Microsoft Azure - Azure Fundamentals Courses
Google Cloud - GCP Digital Leader
Oracle Cloud Infrastructure - OCI Foundations
What are you waiting for?
Join now the club of developers who enthusiastically learn and contribute in the cloud domain. Cloud computing is a promising field and it will be for the next upcoming years. Start your cloud journey now!
Subscribe to my newsletter
Read articles from Tristan Mahinay directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Tristan Mahinay
Tristan Mahinay
Tristan Mahinay is a software engineer currently focusing on building and architecting scalable back-end systems using Java and different cloud platforms in a Containerized Architecture. Most of his time is dedicated to read technical books, coding in free time and contribute to open source. He also contributes as a technical SME to the IBM Java area.