Comprehensive Cloud Computing Guide 2020
Migrating to the cloud? Get an overview of cloud computing and the key concepts that you should consider when making a move to the cloud.
There are three types of cloud solutions:
- Software as a Service
- Infrastructure as a Service
- Platform as a Service
This is David Linthicum helps you evaluate these solutions, including Amazon Web Services, Google Cloud Platform, Salesforce.com, and Office 365, as well as the data and applications that are best suited to the cloud. David explains how to select a cloud provider and plan a migration. He also reviews the security considerations and typical day-to-day operations and tools IT administrators need to keep their cloud-based infrastructure up and running.
Cloud Computing Areas Covered:
- Types of clouds: SaaS, IaaS, and PaaS
- Identifying the data and applications to move to the cloud
- Migration planning
- Selecting a cloud provider
- Cloud security
- Cloud operations
- Approaching management and monitoring
Cloud Computing is famous in this field:
- Software Developer
- Information Technology Consultant
- Salesperson
- Consultant
Where they work
- IBM
- US Army
- Accenture
- Tata Consultancy Services
- Walmart
- Telenor
- Telefonica
- Verizon
- Tesla
- SpaceX
Skills covered in this Article
- Cloud Administration
- System Migration
- Cloud Computing
Change your career with cloud computing
Hi, I’m Dave Linthicum. The goal of this article is to change the direction of your career. If you have been looking to move to cloud computing, this will provide you with enough information to do so, not only understanding the basics, but how to make your first cloud computing project successful, as well as best practices in security and operations. We’ll start with understanding the details of the types of clouds, including infrastructure as a service, software as a service, and platform as a service, as well as three major deployment models.
This includes current players in the market and which brands you should keep an eye on. You’ll understand the details of infrastructure as a service, such as AWS, Amazon Web Services, or Google compute engine. We’ll be able to define software as a service, such as Salesforce.com or Microsoft Office 365. Finally, we’ll show you what an infrastructure as a service cloud and a software as a service cloud looks like and how to leverage them today. Next, we’ll look at how you can leverage cloud computing now, including evaluating applications and data that may be right for the cloud.
We’ll also look at how to create a business case for the cloud, do migration planning, as well as select the cloud provider. Security is an underlying focus of this article, and this section will focus on security planning for the cloud, defining security requirements, picking the right security technology for the cloud, and finally, how to move to security operations. In this last section, we’ll look at best practices in technology associated with cloud operations or CloudOps. This means how to set up cloud operations, types of tools to leverage, and how to manage cloud with traditional systems. This video could change the article of your career. I’ve put together an information-rich post that’ll lead you to understanding the basics of cloud computing. Let’s get started with introduction to cloud computing.
Target audience
Before we begin our article on cloud computing core concepts, I want you to know that this write up is designed for those in the field of information technology. However, there is no prerequisite knowledge of cloud computing that’s needed. This informative post is great starting point if you’re interested in moving on to more advanced articles such as specific cloud technology skills. This best cloud computing article is geared toward all levels in an organization including staff, project managers, developers, administrators, and even executives. To make things more understandable, I’ll make sure to define less understood terms or buzzwords as well as acronyms. Also, I’ll provide foundational learning tools such as handouts that will assist you in defining your first cloud computing project.
Cloud Computing Basics:
Overview of cloud computing
Cloud computing is a revolution in IT that’s changing the way we consume compute services, as well as leveling the playing field for small and medium size businesses. It’s been my experience that in the last 10 years that we pave the way for computing to be much more efficient and cost effective. Indeed, I’ve found that I can save most organizations millions in the first few years of use. And that savings is made not only in cost efficiency that cloud computing brings, but making the organizations more agile, or the ability to respond to changes in their respective markets.
In the past, hosting applications and data meant that we needed to purchase millions of dollars of hardware and software. Also, we needed to rent or build data center space to house our hardware and software assets. These days, we have the options in the form of cloud computing. Cloud platforms provide the ability to leverage remote systems on demand over the open internet, the ability to pay for only the resources that you use, and finally the ability to scale up and scale back as needed. Cloud computing, while seeming new, is really an evolution of technology over time. This includes the rise of timesharing that we all experienced. Also the rise of distributed computing. All of these evolutions formed the concept of cloud computing, which is basically leveraging a pool of compute resources to maximize cost and compute efficiency.
NIST, or the National Institute for Standards in Technologies, have defined cloud computing as having the following characteristics. On-demand self-service, ubiquitous network access, resource pooling, rapid elasticity, and pay-per-use. Additionally, they’ve defined the following three delivery models. Software as a service, platform as a service, and infrastructure as a service. Finally, they’ve defined three different deployment models, including private cloud, public cloud, and hybrid cloud. As you can see by this graphic, cloud computing allows you to pay for only the resources that you leverage and when you need them. Thus, there is no need to purchase hardware or software well ahead of the demand. Where cloud allows you to deal with demand elastically, meaning that you only use the resources that you need, and more importantly you only pay for the resources you use.
So what’s next? Well the establishment of cloud computing as a common practice in technology. This means that cloud computing becomes pervasive to IT and it’s really another tool in the shed for IT. The emerging new capabilities in the cloud, such as machine learning and big data analytics. The migration of applications to cloud-based platforms, meaning that enterprises will do massive application and data migration projects to the cloud over the next several years. Now that we understand the origins of cloud computing and the basic concepts, let’s move on to the types of clouds, including private, public and hybrid.
Types of clouds
It’s been my experience that there is not a one cloud fits all solution. As a cloud consultant for the last several years, I’ve found that you need to understand the work loads first, and then pick the cloud deployment models that you will likely leverage. This process takes weeks, sometimes months for large enterprises. However, I recommend that you spend the up-front time to figure this out. These are the types of cloud deployment models. Private, public, and hybrid clouds. Private clouds mean that you own the hardware that the cloud runs on. It’s for your use and yours alone. Public means that you’re leveraging cloud services over the open internet, using hardware and software that you don’t own. Hybrid clouds use both public and private clouds, allowing you to run workloads on either cloud deployment models, and having them work seamlessly together. You may deploy one, two, or all of these models.
The main advantage of leveraging a private cloud is you run the cloud on premises. Some believe this provides the best security over public and hybrid clouds. However, owning your own hardware and software means you’re not getting the value of leveraging public or hybrid clouds, where you can avoid owning hardware and software. Public clouds run over the open internet. You may not even know where your applications and data physically exist. Some consider this less secure. However, public clouds don’t require that you purchase hardware or software, and you don’t have to supply the data center space to maintain these systems.
Thus, the concept avoiding capital expense is core value of leveraging a public cloud. Hybrid clouds can provide the best of both private clouds and public clouds. Since you have two cloud deployment models that are paired, you can leverage either to meet the needs of the workload. In some instances workloads can be moved between public and private clouds to maximize the value of leveraging the cloud platforms. Your selection of which cloud deployment model is best for your purposes really depends on your own requirements. Part of this process of moving to the cloud is understanding the characteristics of your workloads and match the correct types of cloud to those workloads. Now that we know the cloud deployment models, let’s talk about the types of clouds, including software as a service, platform as a service, and infrastructure as a service.
Basic concepts
The selection of the types of clouds that your organization will leverage is again dependent on your workload requirements, which relates back to your business requirements. It’s been my experience that you approach this with an open mind, understanding that one, two or all types of clouds may be needed and leveraged in different ways. Understanding what they are is the first step. As defined by NIST, there are three major cloud types, software as a service, which is really an application that you rent over the open internet, infrastructure as a service, which is basically storage, computer, and other infrastructure services that you leverage from some local or remote resource.
Finally, platform as a service, which is an application development, testing and deployment platform that you leverage on demand. There are huge fundamental differences between the different types of clouds. Infrastructure as a service clouds are designed to replace pretty much what’s in your data center, including storage and compute services. Software as a service replaces traditional enterprise applications, such as customer relationship management and enterprise resource planning. Platform as a service is a cloud version of application development, deployment, and the hosting of applications.
The major brands of infrastructure as a service includes Amazon Web Services, or AWS. AWS is known to dominate the majority of the infrastructure as a service market. Saleforce.com is the largest SaaS provider, software as a service, offering CRM and sales automation services over the open internet. Finally, platform as a service players include Google App Engine, providing application development services, as well as deployment and hosting. IaaS provides cheaper platforms for applications and data since the hardware and software is shared between known and unknown users. SaaS provides cheaper ways to consume enterprise applications, such as customer relationship management and enterprise resource planning. And finally, PaaS provides cheaper ways to build web-based systems that enforce standards. Again, the use of cloud-based resources means that we’re sharing resources, thus avoiding buying your own hardware and software. This really defines the value of cloud computing in general.
IaaS clouds
Infrastructure as a service clouds are the fastest-growing types of clouds in the market today. However, all infrastructures that serve as clouds are not the same, and it’s been my experience that you need to take your time in understanding the capabilities of each brand. What is important is that you remember that your infrastructure as a service cloud is likely to be vital to your organization going forward. And thus, you need to carefully consider both your requirements now, and what you’ll need in the future. In an infrastructure as a service model means that a third party provider hosts hardware, software, services, storage, and other infrastructure components on your behalf.
You can think of an infrastructure as a service cloud as more like a traditional timesharing service as we discussed in the previous video. These infrastructure services can be used for any purpose, such as hosting applications or data. Infrastructure as a service clouds provide infrastructure services found in traditional data centers such as compute storage, as we mentioned before. However, they also provide application and data hosting for existing enterprise workloads, such as applications and databases, or both. They are the fastest-growing type of cloud, with Amazon Web Services being the major player with revenues over several billion dollars. Finally, infrastructure as a service clouds services can be deployed as private, public, or hybrid clouds.
Besides AWS, there is Microsoft Azure and Google Cloud Platform as examples of infrastructure as a service clouds. You should note that there are many differences between the brands of infrastructure as a service clouds, including the number and types of infrastructure services that they provide. Thus, you must do your own homework before selecting the right cloud. Let’s talk about what that means, focusing on the value of infrastructure as a service. The main value of leveraging an infrastructure as a service cloud is avoiding buying hardware and software as we covered in previous slides. This means that we’re shifting spending from capex, or capital expenditures, to opex, or operational expenditures.
When leveraging an infrastructure as a service cloud, you only pay for the services that you use. Infrastructure as a service providers may bill by time or volume of data. Infrastructure as a service clouds provide elastic scaling. This means that infrastructure as a service clouds can scale up or scale back based on the needs of the application workloads. This means that we only pay more and pay less depending on what capacity is needed. Shifting risk to infrastructure as a service cloud providers is a major value that infrastructure as a service cloud provides. This means that we’re relying on public infrastructure as a service cloud providers to take care of hardware and software as well as make the initial investment. This means that they are accepting the risk, including the cost of the risk. Infrastructure as a service supports public, private, and hybrid cloud deployment models. This means that you have flexibility to leverage whatever deployment model is the proper fit for you.
SaaS clouds
It’s been my experience that enterprises don’t often look to software as a service to provide alternatives to enterprise systems that have been housed within corporate data centers for years. This means that they are missing a huge opportunity to save on expensive CRM, customer relationship management, and ERP, enterprise resource planning deployments. Indeed it’s been my experience that SaaS is often the path to saving the most money, giving what enterprises are paying today for enterprise software. In a software as a service model, it means that a third party provider hosts application software on behalf of the end user.
You can think of software as a service as more like applications that are delivered through web browsers. Or websites that provide the same value as traditional applications, such as enterprise resource planning, and customer relationship management, even productivity applications such as Microsoft Word and Microsoft Office. Using a software as a service cloud removes the need for enterprises to spend a large amount of cash on enterprise software. And the software as a service provider maintains hardware, since the software and hardware are hosted on their site. Also there is almost an unlimited scalability for growing the enterprise since you can add seats or subscriptions as you add employees to the team. There is no need to update or patch software. Updates are continuous and automatic. Software as a service supports both desktop and mobile computing. And applications are thus pervasive.
There are more than 2000 software as a service cloud providers on the market today. Prime examples include salesforce.com, a customer relationship management solution that’s popular within enterprises, Google Apps or Google Applications provides storage, word processing, spreadsheets, things like that that may be shared among many users. Also there’s Microsoft 365, which is a SaaS version of the popular Microsoft Office platform. So what’s the business case for software as a service? First, you can avoid buying hardware and software. Just as, with the value of platforms of service, and infrastructures of service, the idea is to shift the risk to the software as a service cloud provider, the ability to pay for only the seats or subscriptions that you use allows you to align your usage directly with spending. Finally, software as a service supports pervasive application delivery, including desktop and mobile devices. This allows software as a service to reach most users on any device that they prefer to use.
PaaS clouds
Platform as a service clouds are types of clouds that most don’t understand, but should. As enterprises spend millions on application deployment and development, PaaS holds the promise of reducing these costs in my experience. It’s also been my experience that understanding how platform as a service clouds work enhances developer efficiency and brings applications to the business quickly. In the platform as a service model of cloud computing means that a third-party provider provides application development, testing, deployment, and hosting services as a service. This provides efficient application development platforms that can be leveraged by an enterprise to make application development much more cost-effective.
Platform as a service provides a complete development and testing and deployment platform that most enterprises will find more turnkey than traditional development tools. Platform as a service also reduces the complexity of building, testing, and deploying applications by keeping the developers inside a well-defined environment that limits the ability for the developers to make mistakes. Platform as a service supports most infrastructure as a service providers, including Amazon Web Services, Google, and Microsoft. Or you can integrate these platforms directly in with your PaaS-built applications. There are dozens of PaaS providers out there with AWS Elastic Beanstalk being an example of a PaaS cloud that runs within an infrastructure as a service cloud, AWS.
The same infrastructure as a service and platform as a service combination can be found within Microsoft Azure, as well as Google App Engine. Keep in mind that integration and combining a platform as a service and infrastructure as a service cloud services seems to be the trend that we’re seeing going forward. So what’s the business case for platform as a service? First, it reduces the development and deployment complexity. PaaS clouds, platform as a service, provide abstraction from the underlying complexities of the development environments and lacking these complexities, developers should be more productive. Since you’re not having to maintain your own development environment, things may happen more quickly since you’re not consistently updating and debugging your developer platform.
IaaS case study
In a quick demonstration of an infrastructure as a service system, we’re going to launch an Amazon EC2 instance, understanding what’s going on behind the scenes. Next we’re going to configure that EC2 instance for our use, then finally, we’re going to connect to that instance for production. What you’re seeing here is the AWS dashboard, Amazon Web Services. From here we simply select Launch Instance under the label marked Create Instance. What we’re doing is actually reserving resources on the AWS infrastructure as a service cloud, in this case, a compute instance or a compute virtual server. Keep in mind that this is not a physical machine instance, but a logical one. Next we need to select the type of machine image to leverage.
Note that AWS provides a few prebuilt images that are really operating system platforms running on particular types of processors, such as 64-bit. This is very much like going to a computer store and buying a physical server and having that server configured for your specific needs. In the list here, you’ll see several popular platform configurations, including Linux and Windows. Let’s select a predefined Linux instance. Amazon Web Services provides a wide range of instance types to fit your specific needs. Note that you can select the number and CPU size. Each type comes with a different price point, so make sure you don’t overbuy, else you’ll spend too much money, or underbuy, meaning your applications won’t have enough resources to perform well. In this case, I’m selecting this instance type because it’s the least expensive for our demonstration purposes. Now that we’ve selected the machine image type and instance type, we can review our instances here.
If everything looks good, we can move to the launch screen using the button at the bottom-right side. Now what we’re waiting for, here is where we’re ready to launch our instance. Note that there is a public IP address that allows those outside to connect to the EC2 instance. There are other descriptors there as well that you can note. In this terminal screen, we can connect to the instances we just created. Note that this is not unlike connecting to traditional servers over the internet or over your local network, and that is really the idea of a public infrastructure as a service cloud, to provide you with an alternative to leveraging your own servers. Once connected, you’re ready to leverage that machine instance for whatever purposes that serve your needs.