Google Web Engine

Breaking

March 22, 2019

Cloud Storage vs. Cloud Computing: What’s the Difference?

The terms “cloud storage” and “cloud computing” are oftentimes used interchangeably. One may be tempted to believe they have the same meaning, but this is far from the truth. As much as cloud computing and cloud storage have a lot in common and are derived from the same source (the cloud), they are actually different concepts. We will examine the differences between these concepts in this article.



Cloud Storage
When the average person first thinks about cloud storage, they will likely think about storing files, (example: songs, videos, and applications) on a remote server to be retrieved from multiple devices any time he or she needs them. This is correct! Cloud storage is essentially a system that allows you to store data on the Internet, as you would save on a computer. Whether you’re talking about Google Drive, DropBox, or iCloud, the definition of cloud storage remains the same. It enables you to upload data through the Internet to cloud-based servers. Once you’ve stored your data on the cloud, you, or any other person you give access to, can then go ahead and access it from multiple devices using the Internet as a medium.

Businesses use cloud storage to store documents and share them with others. It helps in preserving your important documents and files while at the same time giving you a better opportunity to collaborate on a project with other people through data sharing. Personally, you can use it to store media files and emails. It gives you almost unlimited data storage space. Also, it's cheaper and more secure than traditional storage mediums. No wonder cloud storage is quickly replacing physical storage systems!

Cloud Computing
You use cloud storage to save and keep data. Cloud computing, on the other hand, is used to work on and complete specified projects. Cloud computing is linked with cloud storage in that you have to move data to the cloud (cloud storage) before you can make use of cloud computing systems. Once the data is moved to the cloud, however, you or someone else can process it into useful material and send it back to you. An example of Cloud Computing is Software as a Service (SaaS), where you input data on software and the data is transformed remotely through a software interface without your computer being involved.

Cloud computing is gaining ground in the digital and business world. This is because of its numerous benefits. It ensures better collaboration, transparency, efficiency, and innovation in its solutions. It also reduces barriers to communication and gives you access to a wider audience, including customers and contractors.

Some distinguishing factors between cloud storage and cloud computing include:


  1. Cloud computing requires higher processing power than cloud storage. Cloud storage, on the other hand, needs more storage space.
  2. Cloud computing is essentially targeted towards businesses. Cloud storage, on the other hand, is utilized both for professional and personal reasons.
  3. Cloud storage is simply a data storage and sharing medium, while cloud computing gives you the ability to remotely work on and transform data (for example, coding an application remotely).

These are the essential differences between cloud storage and cloud computing systems. In as much as they are interconnected, they are different concepts and shouldn’t be muddled up.

March 22, 2019

Cloud storage: What is it and how does it work?

“The cloud” is a major buzzword in computing right now, but its meaning is rather, well, cloudy for most people. Nevertheless, chances are high that you’ve already used the cloud, even if you may not have known it at the time. Media sharing services like Flickr, Instagram and YouTube? They use the cloud. Webmail clients like Gmail and Hotmail? Banking apps? Those too. Read on and we’ll see if we can’t dispel the fog a little…



At its heart, cloud computing involves using the power of the internet to outsource tasks you might traditionally perform on a personal computer – anything from handling simple storage to complex development and processing – to a vast and powerful remote network of interconnected machines.

This outsourcing is handy for the casual user who is fed up of having to free up space on their hard drive or purchase new storage for all the cat/baby/food photos they can’t stop taking. It’s even better for businesses that want to use the cloud for processing and storage – because users only pay for what they use.

Think about it. Back in the day, companies purchased computing infrastructure based on what they figured they might need now and in the next couple of years. Fearing what would happen if they underestimated demand, they tended to over-buy only to then have the equipment sit around idle. Not only that; business software is expensive. Not to mention the servers, networks, bandwidth, power, cooling, office space, and the experts needed to install, configure and run the whole caboodle.

Cloud computing allows businesses to run essential programs and applications through the Internet, saving them time, space, hassle and lots and lots of money. Billing for cloud services works just like the way you pay for utilities like gas and electricity in your home; it’s pay-as-you- go. The cloud is also extremely flexible. For heavy tasks, clients have instant access to scaled-up computing power on the fly. When they’re done with it they simply release it back to the cloud.

What is the cloud?
The first thing you need to know is that “the cloud” exists in far-flung data centres, which you access via the internet. It is a collection of networked computer hardware that works together to provide many aspects of computing in the form of online services. You can’t physically touch the hardware itself in the public cloud, but you control it remotely via web interfaces.

One of the central features of the cloud is virtualisation. Virtual machines are created with software that subdivides the computing power, memory and storage of a given machine into multiple smaller units, each running their own operating system. This virtualisation allows computing resources to be shared and allocated efficiently across the cloud.

Cloud computing is a general term that is better divided into three categories: Infrastructure as a Service (IaaS) – where big players like Amazon and Google rent out immense computing infrastructure to other companies; Platform as a Service (PaaS) – online spaces where developers create online applications for specific sets of users; and Software as a Service (SaaS) – where clients use software over the internet.

Even the average web surfer at home has interacted with at least some of these. Facebook, Twitter and Gmail are all examples of SaaS cloud applications. One of the things that make it so powerful is the fact that – in the case of the former two – thousands, even millions, of people can interact with the same bit of information simultaneously.

The other giant boon for individual users is that services like Dropbox and Apple’s iCloud allow them to store their photos, email, music, calendars, contacts and other data in a central location, accessible from whatever device happens to be handy. These can be set up to automatically sync with the cloud, ending an era of fumbling with USB cables and cursing yourself for bringing the wrong data stick to a meeting. Relax! That appointment you just noted in your phone will appear seamlessly in your desktop calendar, leaving you free to kick back and enjoy the music you’re streaming from your collection on distant servers.

How cloud storage works

Cloud storage vs cloud computing
Cloud storage involves stashing data on hardware in a remote physical location, which can be accessed from any device via the internet. Clients send files to a data server maintained by a cloud provider instead of (or as well as) storing it on their own hard drives. Dropbox, which lets users store and share files, is a good example. Cloud storage systems generally encompass hundreds of data servers linked together by a master control server, but the simplest system might involve just one.

Cloud computing also involves clients connecting to remote computing infrastructure via a network, but this time that infrastructure includes shared processing power, software and other resources. This frees users from having to constantly update and maintain their software and systems, while at the same time allowing them to harness the processing power of a vast network. Familiar everyday services powered by cloud computing include social networks like Facebook, webmail clients like Gmail, and online banking apps.

Where’s my stuff?
Two words: data centres. Anything you’ve uploaded to the cloud, or that you run from the cloud, exists on dedicated servers and storage volumes housed in vast warehouses, often situated on campuses full of such warehouses. Data centres are owned by cloud service providers, who are responsible for keeping the servers up and running.

The job of all data centres, however big or small – and yes, some of them can be tiny – is to keep your data physically safe from theft and destruction, and to make sure it’s available whenever you want to access it. They run extensive cooling systems to keep the electronics from overheating and have at least one backup generator in case of power outages.

Once you’ve put your data in the cloud, it may be physically stored in many different places, countries or even continents, depending on where the service provider’s data centres are located. In fact, cloud providers actually make multiple copies of the data you upload and purposely store these in disparate locales to ensure that it won’t get destroyed or be inaccessible in the event that a natural disaster takes out one of the centres.

The physical location of their stored data is irrelevant to the majority of people, since it can be called together over the internet almost instantly. But for organisations using the cloud for certain sensitive types of data – government documents or health records, for example – understanding where the data is headed and which data-protection and privacy laws apply in those places becomes critical.

How safe is the cloud?

The cloud may promise to lift the burden of our ever-increasing data storage needs, but how do we know our data is truly safe when we entrust it to a cloud provider? What measures do they take to address our two biggest concerns: reliability and security?

We’ve already learned that cloud providers store backups in multiple locations. Systems that detect smoke, suppress fires and provide emergency power are also standard features of data centres, and these secret locations are heavily reinforced, guarded and internally protected to prevent intruders or disgruntled employees from physically harming or stealing the storage hardware.

To secure your data so no one else can get at it, cloud systems use authentication processes like usernames and passwords to limit access, and data encryption (see boxout below) to protect data that is stolen or intercepted en route. And yet, passwords can be hacked; often it’s the service provider who holds the encryption keys to your data, meaning that rogue employees could access it; and your data isn’t immune to search and seizure by government entities.

So, to entrust or not to entrust? In any case, you can rest assured that – since cloud storage companies live and die by their reputation – they take great pains to employ the most advanced security techniques and provide the most reliable service possible. But the bottom line is that we live in an age where national governments have been exposed for tapping into supposedly private cloud data. Savvy surfers would be wise to keep anything truly sensitive stored on their personal computer or private cloud behind a firewall, and never upload it to the public cloud.

March 22, 2019

Why You Should Change Your DNS Settings for Better Internet

The DNS (Domain Name System) server settings on your laptop, phone, or router are your gateway to the web—converting easy-to-remember domain names into actual internet IP addresses, just like your contacts app converts names into actual phone numbers. You can change which DNS server your devices use though, and perhaps get yourself a faster, more secure internet connection along the way.



The DNS servers (domain-name-to-IP-lookups) your gadgets connect to at the moment are probably set by your Internet Service Provider (ISP), as servers that are stable and trusted by whichever company supplies your internet.

If you want to switch to something else, you can change the settings on devices individually, or on your router—which obviously supplies wifi to everything else in your home. Those of you happy to go all-in with an alternative DNS can take the router approach, while the device-specific option lets you test the waters.

Changing DNS settings over cellular networks is a bit more complicated. iOS won’t let you do it natively, and Android only lets you do this in Android 9 Pie, which might not arrive on your phone for a while.

You could use a third-party app like DNS Override for iOS or DNS Changer for Android, which essentially create a VPN layer so you’re going through a separate server before connecting to the DNS provider of your choice. These work as advertised, but your phone will have yet another step to go through before getting to the web, and you’d be putting your trust in yet another developer.

For simplicity’s sake, we’re going to concentrate on changing DNS settings for wifi networks, but if you want to make changes for cellular networks too, take a look at the apps we’ve mentioned. Or, get a device with Android 9 Pie on it. Then, head to Settings, Network & Internet, Advanced, and Private DNS to plug in your chosen DNS settings.

Why change DNS settings?

Screenshot: DNS Changer
There’s more than one reason to shift DNS servers, and while we don’t know the exact configuration of your current connection—so a head-to-head comparison isn’t possible—most people decide to make the change for reasons of privacy, speed, security, reliability, customization, or all five.

In terms of privacy, switching DNS servers doesn’t really stop your ISP from seeing the sites you visit, though it may limit how much of a profile they can build up on you for advertisers, depending on their business practices. To really hide your browsing, you need a VPN or an encrypted DNS system, which is a whole load of extra technical work. If you’re interested, Ars Technica has a mammoth guide here. (Simpler encrypted DNS is on the way, but it’s not here yet.)

So avoiding your ISP’s DNS servers might have some privacy benefits, ISP depending, just don’t expect too much—and certainly not anonymous browsing. Alternative DNS providers might track your activity too, though providers like Cloudflare have promised to wipe all its logs every 24 hours to protect consumer privacy. In addition, many DNS providers automatically block phishing and malware sites, though your ISP may well do that as well.

Speed and reliability can also be boosted by switching DNS servers, but that really depends on how well your ISP is looking after its DNS servers and how close they are to your current location. We can’t comment on response times for every ISP out there, but you could simply make the switch and see if you notice improved speeds.

Then there’s customization: You can unblock sites blocked by your ISP (or indeed your government), or block sites yourself at the domain name level (one of the OpenDNS packages shuts off access to adult sites, for example). If you’re prepared to put in the time, you can blacklist and whitelist sites for your whole wifi network, restrict online ads, and so on, all by switching to another DNS provider.

When you’re connecting to public wifi networks, you’ll know even less about who’s running the show, and a switch to a DNS server you trust makes even more sense than it does at home. Speed, privacy, security, reliability, customization—you don’t really have much control at all over these on public wifi, but different DNS servers can help take it back.

Your options for alternative DNS

Four of the most popular, reliable, and simple-to-use alternative DNS providers are Cloudflare, Google, Quad9, and OpenDNS. The benefits they provide are similar across the board, though there are some differences too. There’s nothing to stop you from trying them all out to see which works best for you.

Cloudflare is the newest arrival, promising DNS servers that are fast, secure, and private. The IP addresses you need to remember are 1.1.1.1 and 1.0.0.1 (primary and secondary), which you’re unlikely to forget, and you can get started by visiting either of those addresses. Most testing seems to put this as the fastest of all the DNS providers, though sometimes not by much.

Then there’s Google’s public DNS, which you can find at the memorable 8.8.8.8 and 8.8.4.4 IP addresses. Like Cloudflare, it promises boosts in speed and security over your existing DNS server, and you would hope with Google’s know-how it’s going to be more robust than most. IP logs are deleted within 48 hours, though anonymized data is kept for longer.

The big benefits of Quad9 are speed and security, using “threat intelligence from more than a dozen of the industry’s leading cybersecurity companies” to help you steer clear of malicious sites (IBM is one of those partners). It’s another of the newer DNS providers, and takes a strong stance on user privacy and security. You can get at it through the 9.9.9.9 and 149.112.112.112 IP addresses.

OpenDNS has more of a focus on filtering and kid safety, and throws some paid-for packages into the mix to tempt in small businesses. It’s one of the longest-running DNS providers, and got picked up by Cisco in 2015. The IP addresses for its free, no-sign-up Family Shield package are 208.67.222.222 (primary) and 208.67.220.220 (secondary), though for most packages (even the free ones) you need to register an account first, which might put you off.

Which one is best for you really depends on where in the world you are and what you need. Old-timer OpenDNS has to some extent been usurped by newer, more privacy-focused options, but the Family Shield is still worth a look if you want family filtering that works instantly with no setup and no sign up required.

How to change your DNS settings
The good news is it’s not difficult to change your DNS settings, though you need to do it for every device for every network you connect to. As we’ve said, you can save yourself some work by configuring alternative DNS servers on your router at home: If that’s done, you don’t have to configure every other device independently, until you head out and connect to other wifi networks.

If you want to take the router approach, the method will vary depending on your router. Log into your router’s settings through your browser (the setup documentation or a quick web search should give you the address), then find the DNS settings. It’s a good idea to have a read around online to find a guide for your particular router and ISP, if you can, but the process should be fairly simple—as long as your router supports the feature.

You’ll need the IP addresses of your new DNS server (like the ones we’ve listed above), and it’s also a good idea to jot down your old DNS server addresses in case you want to go back to them at some point (or if you have trouble switching). A device reboot after changing these addresses should be enough to complete the switch.

On Windows, open up Settings via the cog icon on the Start menu, then click Change adapter options. Right-click on your wifi connection, choose Properties, and then scroll down and select Internet Protocol Version 4. Click Properties, and you can then specify new addresses via Use the following DNS server addresses.

For macOS, open up System Preferences from the Apple menu and then click Network. Choose your wifi connection, select Advanced, and then switch to the DNS tab. Use the Plus buttons under DNS Servers to add both the primary and secondary servers from the options we’ve listed above, and you can then close down the dialogs.

If you’re using Android, you first need to change your device’s IP address to static, which requires some reconfiguring on your home router to specifically accept it—it’s a better idea to use the router method, if you can, or fall back on the DNS apps we mentioned up at the top. If you’re using Android 9 Pie, you can use the Private DNS feature as an alternative (scroll back up if you missed us mentioning it)—this fixes all these issues, if you have a compatible device.


Screenshot: Gizmodo
If you are comfortable setting IP addresses on your router (How-To Geek has a guide here), open up Settings in Android, and tap Network & Internet. Tap Wi-Fi, then the cog icon next to your home network, then the pencil icon at the top to make changes. Tap Advanced options, change the IP settings to Static, and you can then get at the DNS server settings and modify them as required.

Finally, on iOS, you can find the relevant screen by opening Settings, then tapping Wi-Fi, and then tapping the network you’re connected to. Choose Configure DNS, tap Manual, and you can add the primary and secondary servers via the Add Server button. Use the red Minus buttons to delete the existing servers, and once you save out of the screen, you’re ready to start using your new DNS configuration.
March 22, 2019

How to Make Your Internet Faster with Privacy-Focused 1.1.1.1 DNS Service

Cloudflare, a well-known Internet performance and security company, announced the launch of 1.1.1.1—world's fastest and privacy-focused secure DNS service that not only speeds up your internet connection but also makes it harder for ISPs to track your web history.
Domain Name System (DNS) resolver, or recursive DNS server, is an essential part of the internet that matches up human-readable web addresses with their actual location on the internet, called IP addresses.



For example, when you try to open a website, say thehackernews.com, your DNS looks up for the IP address linked to this domain name and load the site.
Since the default DNS services provided by ISPs are often slow and insecure, most people rely on alternative DNS providers—such as OpenDNS (208.67.222.222), Comodo DNS (8.26.56.26) and Google (8.8.8.8), to speed up their Internet.
But if you use Cloudflare new 1.1.1.1 DNS service, your computer/smartphone/tablet will start resolving domain names within a blazing-fast speed of 14.8 milliseconds—that's over 28% faster than others, like OpenDNS (20.6ms) and Google (34.7ms).
Even if you are visiting websites over HTTPS, DNS resolvers log every site you visit, making your ISP or 3rd-party DNS services know about everything you do on the Internet.
"That means, by default, your ISP, every wifi network you’ve connected to, and your mobile network provider have a list of every site you’ve visited while using them," the company says.
However, Cloudflare has changed this game with its new free DNS service, which it claims, will be "the Internet's fastest, privacy-first consumer DNS service," promising to prevent ISPs from easily tracking your web browsing history.
Cloudflare public DNS resolvers, 1.1.1.1 and 1.0.0.1 (as alternate DNS server for redundancy), support both DNS-over-TLS and DNS-over-HTTPS to ensure maximum privacy.

The company has also promised not to sell users’ data, instead to wipe all logs of DNS queries within 24 hours. It's also working with auditors at KPMG to examine its systems and guarantee it's not actually collecting your data.
How to Change DNS Settings to Boost Internet Speed
For Mac PCs:

  • Open System Preferences.
  • Search for DNS Servers and tap it.
  • Click the + button to add a DNS Server and enter 1.1.1.1 and 1.0.0.1 (for redundancy).
  • Click Ok and then Apply.

For Windows Computers:

  • Tap Start and then click on Control Panel.
  • Click on Network and Internet, and then tap Change Adapter Settings.
  • Right-click on the Wi-Fi network you are connected to, then click Properties.
  • Select Internet Protocol Version 4 and click Properties, and then write down any existing DNS server entries for future reference.
  • Now tap Use The Following DNS Server Addresses, and replace those addresses with the 1.1.1.1 DNS addresses: For IPv4: 1.1.1.1 and 1.0.0.1; and For IPv6: 2606:4700:4700::1111 and 2606:4700:4700::1001
  • Click OK, then Close, and Restart your browser.

For Android Devices:

  • Connect to your preferred WiFi network.
  • Enter your router’s gateway IP address in your browser. Fill in your username and password, if asked.
  • In your router’s configuration page, locate the DNS server settings, and enter any existing DNS server entries for future reference.
  • Replace those addresses with the 1.1.1.1 DNS addresses: For IPv4: 1.1.1.1 and 1.0.0.1, and For IPv6: 2606:4700:4700::1111 and 2606:4700:4700::1001
  • Save your settings, then restart your browser.
  • Note: Android requires a static IP to use custom DNS servers. This setup requires additional setup on your router, affecting your network’s strategy for adding new devices to the network. Cloudflare recommends configuring your router’s DNS instead, which gives all devices on your network the full speed and privacy benefits of 1.1.1.1 DNS.

For iOS Devices (iPhone/iPad):

  • From your iPhone's home screen, open Settings.
  • Open Wi-Fi and then your preferred network in the list.
  • Tap Configure DNS, and then click on Manual.
  • If there are any existing entries, tap the - button, and Delete next to each one.
  • Now, add 1.1.1.1 and 1.0.0.1 (as alternate DNS server for redundancy) to the DNS address.
  • Now, tap the Save button on the top right.

You’re all set to go! Your device now has faster, more private DNS servers.
Well, I have already switched to Cloudflare DNS service. If you too, please tell me your experience in the comments below
March 22, 2019

What is Domain Name Server (DNS) and how does it work?

The Domain Name System (DNS) is one of the foundations of the internet, yet most people outside of networking probably don’t realize they use it every day to do their jobs, check their email or waste time on their smartphones.



At its most basic, DNS is a directory of names that match with numbers. The numbers, in this case are IP addresses, which computers use to communicate with each other. Most descriptions of DNS use the analogy of a phone book, which is fine for people over the age of 30 who know what a phone book is.

If you’re under 30, think of DNS like your smartphone’s contact list, which matches people’s names with their phone numbers and email addresses. Then multiply that contact list by everyone else on the planet.

When the internet was very, very small, it was easier for people to correspond specific IP addresses with specific computers, but that didn’t last for long as more devices and people joined the growing network. In addition to creating a directory for all of these devices, words were used to let people connect to different sites; for most people, remembering words is easier than remembering specific sets of numbers. It is still possible to type in a specific IP address into a browser to reach a website.

How DNS servers work
The DNS directory that matches name to numbers isn’t located all in one place in some dark corner of the internet. Like the internet itself, the directory is distributed around the world, stored on domain name servers that all communicate with each other on a very regular basis to provide updates and redundancies. With more than 332 million domain names listed at the end of 2017, a single directory would be very large indeed.

Each named site can correspond to more than one IP address. In fact, some sites have hundreds or more IP addresses that correspond with a single domain name. For example, the server your computer reaches for www.google.com is likely completely different from the server that someone in another country would reach by typing the same site name into their browser.

Another reason for the distributed nature of the directory is the amount of time it would take for you to get a response when you were looking for a site if there was only one location for the directory, shared among the millions, probably billions, of people also looking for information at the same time. That’s one long line to use the phone book.

Instead, DNS information is shared among many servers, but is also cached locally on client computers. Chances are that you use google.com several times a day. Instead of your computer querying the DNS name server for the IP address of google.com every time, that information is saved on your computer so it doesn’t have to access a DNS server to resolve the name with its IP address. Additional caching can occur on the routers used to connect clients to the internet, as well as on the servers of the user’s Internet Service Provider (ISP). With so much caching going on, the number of queries that actually make it to DNS name servers is a lot lower than it would seem.

How DNS adds efficiency
DNS is organized in a hierarchy that helps keep things running quickly and smoothly. To illustrate, let’s pretend that you wanted to visit networkworld.com.

The initial request for the IP address is made to a recursive resolver, a server that is usually operated by an ISP or other third-party provider. The recursive resolver knows which other DNS servers it needs to ask to resolve the name of a site (networkworld.com) with its IP address. This search leads to a root server, which knows all the information about top-level domains, such as .com, .net, .org and all of those country domains like .cn (China) and .uk (United Kingdom). Root servers are located all around the world, so the system usually directs you to the closest one geographically.

Once the request reaches the correct root server, it goes to a top-level domain (TLD) name server, which stores the information for the second-level domain, the words used before you get to the .com, .org, .net (for example, that information for networkworld.com is “networkworld”). The request then goes to the Domain Name Server, which holds the information about the site and its IP address. Once the IP address is discovered, it is sent back to the client, which can now use it to visit the website. All of this takes mere milliseconds.

Because DNS has been working for the past 30+ years, most people take it for granted. Security also wasn’t considered when building the system, so hackers have taken full advantage of this, creating a variety of attacks.

DNS reflection attacks
DNS reflection attacks can swamp victims with high-volume messages from DNS resolver servers. Attackers request large DNS files from all the open DNS resolvers they can find and do so using the spoofed IP address of the victim. When the resolvers respond, the victim receives a flood of unrequested DNS data that overwhelms their machines.

DNS cache poisoning
DNS cache poisoning can divert users to malicious Web sites. Attackers manage to insert false address records into the DNS so when a potential victim requests an address resolution for one of the poisoned sites, the DNS responds with the IP address for a different site, one controlled by the attacker. Once on these phony sites, victims may be tricked into giving up passwords or suffer malware downloads.

DNS resource exhaustion
DNS resource exhaustion attacks can clog the DNS infrastructure of ISPs, blocking the ISP’s customers from reaching sites on the internet. This can be done by attackers registering a domain name and using the victim’s name server as the domain’s authoritative server. So if a recursive resolver can’t supply the IP address associated with the site name, it will ask the name server of the victim. Attackers generate large numbers of requests for their domain and toss in non-existent subdomains to boot, which leads to a torrent of resolution requests being fired at the victim’s name server, overwhelming it.

What is DNSSec?
DNS Security Extensions is an effort to make the communication among the various levels of servers involved in DNS lookups more secure. It was devised by the Internet Corporation for Assigned Names and Numbers (ICANN), the organization in charge of the DNS system.

ICANN became aware of weaknesses in the communication between the DNS top-level, second-level and third-level directory servers that could allow attackers to hijack lookups. That would allow the attackers to respond to requests for lookups to legitimate sites with the IP address for malicious sites. These sites could upload malware to users or carry out phishing and pharming attacks.

DNSSEC would address this by having each level of DNS server digitally sign its requests, which insures that the requests sent in by end users aren’t commandeered by attackers. This creates a chain of trust so that at each step in the lookup, the integrity of the request is validated.

In addition, DNSSec can determine if domain names exist, and if one doesn’t, it won’t let that fraudulent domain be delivered to innocent requesters seeking to have a domain name resolved.

As more domain names are created, and more devices continue to join the network via internet of things devices and other “smart” systems, and as more sites migrate to IPv6, maintaining a healthy DNS ecosystem will be required. The growth of big data and analytics also brings a greater need for DNS management.
March 22, 2019

Getting to Know Google Compute Engine and How to Use It

The Google Cloud Platform is a suite of product offerings designed to bring the robust flexibility of their cloud architecture to their customers. It is similar in nature and function to Amazon's AWS and Microsoft's Azure. Google entered the cloud computing marketplace later than its competitors. The late entry may have been an initial stumbling block, but that is no longer the case. Google has reached feature parity with its competitors. Google’s virtual machine offering, called the Google Compute Engine, is every bit as robust as an Amazon EC2 or Microsoft Azure instance.



Google Compute Engine is Google's Infrastructure-as-a-Service (IaaS) virtual machine offering. An IAAS platform replaces, or supplements, traditionally onsite network infrastructure assets, like servers and routers, with cloud-based products that perform the same functions. The Compute Engine allows customers to use powerful virtual machines in the cloud as server resources instead of acquiring and managing server hardware.

Customers can configure and run a wide variety of virtual machine configurations. Google provides Linux and Windows as operating systems for their machines, although a custom machine option means being able to run any OS on any image you maintain. The virtual, and in some cases physical, hardware added to the machine helps to dictate its purpose. For example, a web application server might need lots of RAM and CPUs (Central Processing Units), but it does not need GPUs (Graphics Processing Units). Alternatively, a server working on modeling components or streaming media can use configured GPUs. A simple website server might not need any of this, instead opting for a medium amount of RAM and CPU power.

The Google Compute Engine feature set can meet the virtualization requirements of any enterprise. This card serves as an introduction to the Compute Engine and explores its main features. The card also acts as an easy portal to many of the documentation pages you may need when setting up a VM instance.
March 22, 2019

Google Cloud Platform (GCP) Compute Stack Explained

Google Cloud Platform (GCP) offers a myriad of services, one particular set of services is its compute stack that contains, Google Compute Engine (GCE), Google Kubernetes Engine (formerly Container Engine) (GKE), Google App Engine (GAE)and Google Cloud Functions (GCF). These services all have pretty cool names, but can get somewhat confusing with regards to their function and what makes them unique from each other. This article is somewhat intended for those who are new to cloud concepts, in particular cloud services and GCP.



1. The Compute Stack
The compute stack can be viewed as a layered abstraction over what a computer system can provide. This stack moves up from “bare metal” referring to the actual hardware components of the computer all the way to functions, which represent the smallest unit of computation. What’s important to note about the stack is that services are aggregated as you move up the stack e.g the Apps section shown in Figure 1 below, must contain all the underlying components of Containers, Virtual Machines (VMs) and Bare Metal, similarly the VMs component must contain Bare Metal underneath to work.


Figure 1: The Compute Stack | Image retrieved from Google Cloud
This model as shown by Figure 1 (left), is core to describing the offerings from cloud providers. As some may only provide e.g Containers as a Service, and below, where others may provide all the ones shown in Figure 1.

2. Cloud Services
The world of cloud computing is very diverse. Cloud providers offer several services tailored to the various requirements of customers. You may have heard of terms such as IaaS, PaaS, SaaS, FaaS, KaaS and all the letters of the alphabet followed by “aaS”. Although a weird naming convention, they form a collection of cloud provider services. I will state that there are 3 core “as a Service” offerings that cloud providers almost always provide. These are IaaS, PaaS and SaaS, which stand for Infrastructure as a Service, Platform as a Service, Software as a Service respectively. It’s important to visualize the cloud services as layers of services provided. What this means is that as you go either up/or down the layer, you as a client traverse different service options that either add to or take away from the core offering. It is best viewed as a pyramid, as shown in Figure 2.

2.1 Infrastructure as a Service (IaaS)
This is the lowest level a cloud provider can offer and involves a cloud provider supplying the bare infrastructure these include middleware, Network Cables, CPUs, GPUs, RAM, Persistent Storage, Servers and Base Operating System Images e.g Debian Linux, CentOS, Windows etc. If you ask a cloud provider for an IaaS offering this is what you should expect to get. You as a customer are in charge of putting the pieces together to run your business. The degree of what you have to work with may vary from vendor to vendor, but typically, you are just given the hardware and OS, and the world is yours. Examples of IaaS are AWS Elastic Compute, Microsoft Azure and GCE.

Some people may not like the fact of having to install OS images, and deal with networking/load-balancing, or having to care about what kind of CPU is ideal for their workload, this is where we move up the pyramid to PaaS.

2.2 Platform as a Service (PaaS)
Platform as a Service involves a cloud supplier only offering a specific platform that users can build applications on. It is an abstraction above IaaS, meaning the cloud-vendor will handle all the details of CPU types, memory, RAM, storage, networking etc. As shown in Figure 2, you as the client have a moderate amount of control over the actual platform since the cloud-provider handles all the details of the infrastructure for you. You request the platform of choice, and build on it. Examples of PaaS are Heroku

For some, this may still be a bit too high level as the may not necessarily want to build on top of a specified platform, but rather consume a set of services directly from the cloud provider. This is where SaaS comes in.

2.3 Software as a Service (SaaS)
SaaS forms the most common services cloud providers supply. They are tailored for end users and are accessed primarily through websites e.g. Gmail, Google Docs, Dropbox etc. With regards to Google Cloud, there are several offerings outside their compute stack that are SaaS. These include Data Studio, Big Query etc.

2.4 Cloud Service Summary

3. Google Cloud Platform Compute
Given our dive into typical cloud provider offerings in section 2, we can match how Google Cloud offers them.

3.1 Google Compute Engine (GCE) — IaaS
GCE is Google’s IaaS offering. With GCE you have the liberty of creating Virtual Machines, allocating CPU and Memory, Kind of Storage e.g. SSD or HDD, as well as the amount of storage. It’s almost like you get to build your own computer/workstation and handle all the details of running it.

In GCE you can select micro instances that are 0.3-Cores and 1 GB of RAM, to monstrous 96-Core CPUs with over 300GB RAM. You are also at liberty to create custom size VMs for your workloads.

3.2. Google Kubernetes Engine (GKE) — (Caas/Kaas)

Figure 5: Google Kubernetes Engine (GKE) Icon
GKE is a unique compute offering by GCP that is an abstraction over Compute Engine. GKE may be categorized more generally as Container as a Service (CaaS) offering, sometimes coined Kubernetes as a Service (KaaS), which allows customers to easily run their Docker containers in a fully managed Kubernetes environment. For those not familiar with containers, Containers help modularize services/applications, so different containers can hold different services e.g a container can host the front-end of your web app, and another container can host the back-end of your web-app. Kubernetes performs the automation, orchestration, management and deployment of your containers. More information here.

Google Kubernetes Engine | Google Cloud

Google Kubernetes Engine is a powerful cluster manager and orchestration system for running your Docker containers. Set…
cloud.google.com
3. Google App Engine (GAE) — (PaaS)

Figure 6: Google App Engine (GAE) Icon
As mentioned in section 2.2, PaaS sits above IaaS, but in GCP case it can be seen as an offering above GKE too. GAE is Google’s dedicated PaaS, and as they say it best “Bring your code, we’ll handle the rest”. This ensures customers that use GAE do not have to deal with the underlying hardware/middleware but can already have a pre-configured platform ready to go; all they need to do is provide the necessary code required to run it. GAE automatically handles scaling to meet load and demand from users, meaning if your website that sells flowers suddenly hits a spike cause Valentine’s day is approaching. GAE will handle the scaling up and down of the underlying infrastructure to meet demand and ensure your website doesn’t crash because of the increased demand. This means you pay exactly for the resources what your application requires at any given point.

GAE uses Kubernetes or a version of it under the hood to handle all this so you don’t have to. GAE is best suited to companies that are not interested inthe underlying infrastructure and only care about getting their app out there in the best way that they can.

In my opinion, GAE is the best place to start if you’re a developer with a great idea, but do not want to handle the underlying toil of configuring servers, load-balancing and all other time-consuming devops/SRE work. Over time you can explore GKE and GCE, but this is just my opinion.

Disclaimer: AppEngine is used for web applications, not mobile apps.

Checkout

App Engine - Build Scalable Web & Mobile Backends in Any Language | Google Cloud

Google App Engine lets developers build scalable web and mobile backends in any language on Google's infrastructure.
cloud.google.com
3.4 Google Cloud Functions — (FaaS)

Figure 7: Google Cloud Functions (GCF) Icon
After analyzing the previous offerings I hope you noticed a trend. The higher up the GCP Compute ladder you go, the less underlying tech you need to worry about. This pyramid culminates with the smallest possible unit of compute, a function as shown in section 1.

GCF is a relatively new GCP offering that is still in its beta phase (as of the time this article was written). Cloud functions allows specific functions that a developer has written to be triggered by some event. They are event-driven and are the underpinnings of the buzzword “serverless” i.e no knowledge of servers. Cloud functions are very simple and have many different uses that require an event-driven mindset. E.g. Each time a new user signs up, a cloud-function can be triggered, to alert the developers. In a factory, once a certain sensor hits a certain point, it can trigger a cloud-function that does some processing of the information, or notifies some attendant etc.

Cloud Functions - Event-driven Serverless Computing | Google Cloud

Google Cloud Functions makes it easy for developers to run and scale code in the cloud and build event-driven…
cloud.google.com
Conclusion
In this article we have spoken about different cloud offerings e.g. IaaS, PaaS etc, and how Google’s Compute stack fulfills these different tiers. We have seen that the layers of abstraction as you move from one service category to another e.g. IaaS to Paas, involves requiring less knowledge of the underlying one.

For businesses, this provides crucial flexibility that will not only meet their operational goals, but also satisfy other key areas such as security, and cost. To summarize,
Compute Engine — allows you to create your own virtual machine by allocating hardware specific resources e.g. RAM, CPU, Storage. It is also very hands on and low level.
Kubernetes Engine — Is a step up from Compute Engine, and allows you to use Kubernetes and Containers to manage your application, allowing it to scale when need be.
App Engine — Is a step up from Kubernetes Engine and allows you to focus only on your code, whilst Google handles all the underlying platform requirements.
Cloud-Functions — Is the final step in the compute pyramid, and allows one to write a simple function that when triggered, uses all the underlying infrastructure to compute and return a result.