Cloud computing has changed the IT world on its head. Today, to create an online business via a website or an app you no longer need to get a server, network equipments or even pay anything to get your venture started. It turns enterprise IT on it heads as there is an opportunity not to maintain any servers at their premise. Intro about cloud computing. Howver, looking at the product page of any establish cloud provider like Microsoft Azure, Amazon Web Services and Google Cloud, each with around 200+ products available and more popping up every omonth can be daunting. However, if you know the foundations and build upon that, everything make sense.
Recap
In our previous article, we discuss about traditional hosting (on-premise) and cloud computing. We also discuss how the providers like Azure has one-to-one service so you can easily migrate your servers, network equipment and even user desktop to the cloud. It is an introduction to the foundation if you need to recap.
World Wide Azure (Part 1)
Azure Cloud is the fastest growing cloud provider in the world and gaining to the champion Amazon Web Services. Just like AWS, the offering spans the horizon and can be intimidating at first glance.
In this article, we digest the 200+ products that is on the Azure platform and split them into board categories that makes up a typical WebApp or cloud backed application. Once you understand how the traditional enterprise application setup and how it is setup it the cloud, it would just be a matter of translating the enterprise systems into a cloud system.
We will explore how to use an entire globe spanning infrastructure as a singular monolith capable to server user at internet scale (billions of people at the same time) and how that can help you leverage the power of the cloud to lower your cost of ownership and increase efficiency.
Datacenter as a service
Back around early 2000s after the dot com bust, Amazon was on an expansion drive. However, Jeff Bezos was reluctant to buy more and more services to meet demand. The problem back then, demand on items was seasonal and in the off season, you will have too much computing power that will not be use for the rest of the year. The solution was two fold; build the website around API calls and sell the excess computing power as another business arm of Amazon. Amazon Web Service was born.
Around the same time, Google was expanding to ever more countries. The services was uniform around the world, but Google wanted something that can server locally but also managed globally. The solution was to rethink how the datacenter works. Instead of managing individual servers, you define the datacenter as a software and the custom built app will manage it automatically. This changed the game from individual servers running individual specialized jobs to an array of servers working as a single unit running any jobs that you throw at it.
The official term might be infrastructure as a service, but I would rather think global datacenter as a service. Instead of managing the servers, you can think the entire datacenter as a monolith computer server. Here, you manage how many computer units you need, how much storage you need and configure the networking between them. You also control how data goes in and out. You can make triggers to response to new data dump to process the data and put it at another place. You can chain the triggers for further data processing. To control how much work is being done, you can also define a queue management to control how much work is being done. And all this has security and management tools.
So what you get in the end is a global data manipulation resource that you can connect from the mountains of Afghanistan to the jungles of Zimbabwe. On a smaller scale, you can change how your company work. Instead of just migrating the servers to the cloud, you can use the entire cloud to run global operations from a single place.
The base: Identity, Serverless, Queue Management and Storage
To know the power of today’s cloud computing from providers like Azure, we imaging that we are building an app. It does not matter what app it will be because the pattern of an app is always the same: You run an app, say a webapp, you get the data and you either start manipulating the data or give it more input. The data is processed and you get a new version of the data. Below is a simple setup for a typical web application.
To help understand how to leverage cloud computing, you have to think the cloud is one giant computer in the sky. You begin by imagining the data goes into the cloud, the cloud process the data and you get a modified result of the data. To put data into the cloud, you need to identify youself. This is where Active Directory comes in. Active Directory authenticates and uniquely identify anybody who comes into the cloud. Once the data comes into the cloud, its either need to be processed or stored somewhere. The one who process this is called Function App. It is a new concept in cloud computing called serverless. Function Apps are little workers that come and process data in a pool of server within a certain time period. Then the data is either goes out of the cloud or stored somewhere in the cloud.
The beauty of this arrangement is that you can deploy the same function over multiple geographical region by redefine how each of the app block works.
Recap
All the building blocks of your IT infrastructure is available on the cloud.
Active Directory is for Identity Management
Function Apps can replace your application servers
Queue Management manage the jobs for the Function Apps
Many storage solution to store your data depending of type of data.
Identity: Internet Passport for everybody
The first and most important thing in building a cloud app is the identity management. You need to login to the cloud app to access your instances. If you rely on user generated content, each user needs to be identified so you can ascertain data ownership.
Azure uses Active Directory for user management. This carry on from the enterprise days where it is for corporate usage. Now it has been expanded to internet scale. Just like Active Directory of corporate days, the Active Directory of Azure allows you to assign or revoke privileges based on policies that you set.
Recap:
User identity is managed by Active Directory
Active Directory also manage user privileges
You cannot use any Azure services without Active Directory
Serverless: It’s not what you think
A new concept in cloud computing is serverless or in Azure-speak, Function Apps. Serverless is a misnomer. it does not means that it does not use any servers at all, but you just don’t care about services at all. Imagine your business logic workflow is a production line in an assembly line. Each worker in their station do small repetitive tasks. Function apps follows the same concept. You send small jobs to each of the worker, and you don’t care which servers does it. The functions can be triggered by a user’s request or responding to an event inside the cloud.
The main advantages of Function App is that you only pay for what you use instead of reserving computing capacity in the traditional sense. This can mean a very low cost if the functions are rarely used. The disadvantages is that you have to rewrite your business logic to suit the cloud. For a lot of business, this does not make sense when you can just buy a ready made software made by someone else.
Recap:-
Application server is replaced by serverless concept
In Azure, they are called Function Apps
Function are small business logic that is processed when it is being called upon.
Storing the data
Azure provide a multitude of storage options depending on intended usage. Need a place to distribute static files worldwide? Content Delivery Network (CDN) got you covered. Just need some static storage? Blob storage is there for you. You have a lot of data and just don’t know where to put them? Data lake is for you.
On the base, Azure has 5 core storage services:-
- Blobs - Binary large objects like pdfs or images. This is different from files because the data is unstructured and unorganized.
- Files - Just think like the files in your local hard drive. You can organized the files into folders.
- Queues - Queues are instructions to be process by Function apps.
- Tables - Stores structured NoSQL data. Unlike traditional relational database that require joins, these tables storage is designed to be schemaless in mind.
- Disks - Virtualized Disk partitions. To be used for Servers. Imagine like a physical hard drive, but in virtual form ready to be used by any VMs in the cloud.
Recap:-
Just like data comes in all shape and sized, Azure has storage solution in all shape and sizes.
Different kinds of data is handled differently.
Big categories of storage types are Blobs, Files, Queues, Tables and Disks.
- Talk about how the server is connected with the rest of the cloud
Others: DevOps and Monitoring
DevOps is a new practice born in the cloud where the software development (dev) and IT operations (ops) is combined to shorten development cycle and provide continuous delivery of high quality software.
Monitoring the health of your cloud deployment is critical when your business depends on it. Getting to know which service is stalling or failed so you can get it up and running as fast as possible. Another benefits of monitoring is that it tracks resource usage. There’s a saying that if you can measure it, you can improve it. Same goes with cloud computing. Seeing the utilization of your cloud configuration can show which services is in high demand and which service could be deprecated to reduce cost.
Recap:-
DevOps short for Development and Operations; use to be two entities, now work closely as one
Monitoring the health of your services, send alerts if somethings wrong.
Conclusion
Cloud provider like Azure has provided more computing power to masses of people without any organization need to build their own. Cloud providers has proved the way as the new utility company of the future. Around 150 years ago before the first electric company emerge, people has to generate electricity and even then, it was not very convenient nor useful. Utility company made the cost of generating electricity cheaper and innovation follows when electricity help launched the second industrial revolution.
Cloud providers provides IT infrastructure as a utility just like how electric, water and gas utility companies of today. However, there are challenges in cloud computing as there are no standards between cloud providers. Furthermore, most businesses do not want to write their own accounting software or CRM software. We shall explore in the next article about how previous enterprise software company has transform their business to cloud computing.
Resources
- Platform as a service overview
- Azure Active Directory
- Azure Function Apps
- Azure Storage Overview
- Azure DevOps
Plug
Help grow this website and my family by visiting the affiliate links below:-
Macs:-
Phones:-
- iPhone 12 mini - Buy at Amazon
- iPhone 12 - Buy at Amazon
- iPhone 12 Pro - Buy at Amazon
- iPhone 12 Pro Max - Buy at Amazon
- Samsung S21 - Amazon
- Samsung A51 - Amazon
- Huawei Mate 40 Pro - Amazon
- OnePlus 8 Pro - Amazon
- Oppo Find X2 Pro - Amazon
- Xiaomi Mi 10 Pro - Amazon
Accessories:-