Cloud Security – What You May Not Know Might Hurt You

If you use a cloud provider for your application and infrastructure needs, tell me quickly: Where is your data? Don’t feel bad if you really don’t know, most people and organizations have no idea where their data actually resides.

Security Conversations

There are security implications the moment you move your data off site and use any outside hosting or cloud provider. How do you protect it from malicious attempts to access? In many cases, your efforts at securing that data may be falling victim to the security conversations that are not happening.

Where is it? Physically, where does it reside? That sounds like a loaded question because we all know, in the cloud, it could be anywhere at any time. However, in the case of sensitive corporate or personal data, that could be a problem, right? At any given point in time, the data for your application and the customers that use it is physically somewhere in a data center on one or more physical disks of some kind. A quick look at AWS, for example, provides information about the Availability Zone and Region that an application and its data is in, but nothing specific as to location. (more…)

Cloud Cadet Episode 8: Student Interview About AWS Certifications

Today’s episode is hosted by Anthony James, founder of Linux Academy, and by AWS instructor and co-host, Christophe Limpalair. In this edition, we are joined by Thomas, a student based in Portland, Oregon, who has gone through and absolutely nailed the various AWS certifications through the use of Linux Academy.

Thomas has spent the last few months truly diving in AWS to brush up on his technical chops and learn how to be more technologically independent. He is been on the forefront of new technology for a while now, with his involvement in virtual reality, but with everyone migrating to cloud computing, he explains his thoughts about why AWS will be a big opportunity for growth shortly.

Thomas’s interest in AWS was sparked by wanting to what the forefront of hardware entailed, and by his desire to truly understand how the internet and the cloud work. He felt led to learn about AWS and discover more about its inner workings, which is what brought him to us at Linux Academy.

Today’s topics include:

  • Thomas’s involvement in the development of an OculusRift game
  • The best points to memorize to ace your certification
  • Why he powered through the exams as fast as possible
  • The importance of paying attention to detail
  • How to know when you’re ready to move on from a topic
  • Tips to getting through the exam effectively and efficiently
  • Thomas’s experience interacting with the LinuxAcademy community
  • Being inspired by other people’s success
  • His study process and how he prepares the night before

Thomas currently holds four certifications, has completed five of the courses and passed all three associate level certifications – all in about 10 weeks time. It is safe to say his study methods are Linux Academy approved, as well.

That being said, our focus today is finding out the best tips and tricks that Thomas applied while preparing for his AWS certifications and exams. Not only will you discover one of the best techniques to solidify the information you’ve learned, but he gives expert advice about the most effective way to begin your exam, and much more!

Take advantage of the resources we have at Linux Academy so you can be prepared, too! Also, be sure to check out Christophe’s podcast, Scale Your Code. Thank you for tuning in to another edition of Cloud Cadet!

What is Eventual Consistency?

Scalability, high availability, containers, fault tolerance and eventual consistency. Tech terms can be confusing to those new to server administration or development. In the coming weeks, we’ll be breaking down common — yet potentially confusing — terms you will undoubtedly come across in your learning journey.

evenconsEarlier on the Linux Academy blog, we addressed the topic of NoSQL databases; one of the qualities of these databases often being eventual consistency. However, what does eventual consistency actually entail? What are the benefits and trade-offs of an eventually consistent system?

Eventual consistency relies on having a distributed system, or one that utilizes multiple nodes to share the work. Centralized systems cannot be eventually consistent.

Environments that rely on eventual consistency allow for a change to happen on one of the node replicas that is eventually propagated to the other nodes. This process is not instantaneous, although the time it takes for all nodes to reach the same, updated state depends on how the nodes are configured to handle the data. This is done through synchronous messaging or asynchronous messaging. (more…)

What is High Availability?

Scalability, high availability, containers, fault tolerance and eventual consistency. Tech terms can be confusing to those new to server administration or development. In the coming weeks, we’ll be breaking down common — yet potentially confusing — terms you will undoubtedly come across in your learning journey.

wordavailClosely related to a system’s uptime and functionality is the concept of high availability. A highly available system ensures above-average availability for the users who are accessing your website, application or program.

Key points of high availability for a system are locating and removing all single points of failure, preventing data loss, and ensuring operational stability at peak times. This is primarily achieved through redundancy. (more…)

What is Scalability?

Scalability, high availability, containers, fault tolerance and eventual consistency. Tech terms can be confusing to those new to server administration or development. In the coming weeks, we’ll be breaking down common — yet potentially confusing — terms you will undoubtedly come across in your learning journey.

wordscaleScalability is often referenced alongside its partner in quality systems, high availability, but these two concepts can become entangled for those just starting out. While high availability is a program, application, or server system’s ability to remain continuously operational despite any failures, scalability is a system or application’s ability to handle growth.

When an application or network scales, it allows for more throughput, or work, to be managed at a time. Whether this is more concurrent web server connections or more database queries, scaling is about one’s application maintaining its functionality for increasingly growing loads. You can also scale “down” during slow or low load periods to save money and increase efficiency. Ideally, scaling should be something that is configured to happen automatically and without manual intervention from an administrator.

Scaling is more than adding nodes, RAM, or CPU cores, however. An application or server that scales well will do so efficiently and practically, without undue cost and without affecting its availability. Scaling needs to be able to fit both into the budget of the computer or creator and the needs of the servers.

But how does one get a system to scale? For this, we have two options, known as horizontal and vertical scaling. (more…)

AWS Lambda Deep Dive Quizzes

As some of you may have noticed, we recently released the AWS Lambda Deep Dive course. In this course, we delve into the world of serverless architecture and focus on code instead of infrastructure.

Following the Linux Academy philosophy of learning, the course includes hands-on lectures, downloadable real-world use cases, andLive! Labs.

This course also includes quizzes. Quiz questions break down important concepts to know when it comes to Lambda and tests your understanding of these concepts. Quizzes, when bundled with other methods, are an excellent way to find weak points in your study. Instead of waiting until you go through the entire course before being tested on the material, we’ve included quiz questions at the end of each section. That way, after completing a section, you can see if there are any concepts or topics that you did not quite understand; and if that is the case, you can go back through the relevant videos until it clicks. Of course, if it still doesn’t make sense after that, you can always ask in the community or contact instructors.

How Do Quizzes Work?

If you’ve never taken a quiz on Linux Academy’s engine, you may be wondering what it is like.

Screen Shot 2016-03-24 at 4.58.12 PM (more…)

SQL or No?: Relational and Non-Relational Databases

sqltestMany cloud applications are not complete without a database storing information. Traditionally, relational databases like MySQL and Oracle provide the needed tools; although, with the advent of non-relational or distributed databases (more commonly known as NoSQL), various alternative options have arrived to counter the conventional SQL solution.

Amazon Web Services (AWS) is one company that capitalized on the wealth of database options, providing users with multiple services for database management. However, before we delve into the differences between AWS database options, just what is a relational database? And what does NoSQL really mean? (more…)

A Quick Guide to DynamoDB Secondary Indexes

When you create tables in DynamoDB, you must specify primary key attributes. These primary key attributes can then be used to retrieve data from your tables.

To more efficiently find your data, DynamoDB creates indexes for those attributes. Sometimes, however, you may need to query data using an attribute that’s not in one of your primary keys. This is where secondary indexes can help.

DynamoDB Table to illustrate primary keys (partition keys and sort keys) and secondary indexes
DynamoDB and primary keys (partition keys and sort keys) and secondary indexes

In the example above, we have a Reply table for our forums. The Id is our partition key, ReplyDateTime our sort key, and these two attributes make up our primary key. This primary key can be used to query data.

Say we want all of the Amazon DynamoDB#DynamoDB Thread 2 threads. We can query for that, and DynamoDB, in turn, gives us 3 items that match this query. Since we have ReplyDateTime as a sort key, we could also ask for replies after a specified date.

But what if we wanted to query by users who posted replies? We can’t use the PostedBy attribute to pull up all of User A’s messages because it is not a key attribute.

This is where secondary indexes come into play. Depending on the secondary index that we use, we could set PostedBy as another sort key (in addition to the ReplyDateTime sort key) or even set PostedBy as a partition key! Both of these options give us the ability to filter messages by user. (more…)