Learn Enough Docker to be Useful

Containers are hugely helpful for improving security, reproducibility, and scalability in software development and data science. Their rise is one of the most important trends in technology today.

Docker is a platform to develop, deploy, and run applications inside containers. Docker is essentially synonymous with containerization. If you’re a current or aspiring software developer or data scientist, Docker is in your future.


Don’t fret if you aren’t yet up to speedthis article will help you understand the conceptual landscapeand you’ll get to make some pizza along the way.

In the next four articles in this series we’ll jump into Docker terms, Dockerfiles, data storage, and common Docker commands. Part 2 is now live:

Learn Enough Docker to be Useful
Part 2: A Delicious Dozen Docker Terms You Need to Knowtowardsdatascience.com

By the end of the series (and with a little practice) you should know enough Docker to be useful 😃!

Docker Metaphors

First, I’m going to shed some light on Docker metaphors.



 

They’re everywhere! Just check out this book.

Google’s second definition for Metaphor is what we want:

a thing regarded as representative or symbolic of something else, especially something abstract.

Metaphors help us make sense of new things. For example, the metaphor of a physical container helps us quickly grasp the essence of a virtual container.


A physical container

Container

Like a physical plastic container, a Docker container:

  1. Holds thingsSomething is either inside the container or outside the container.
  2. Is portableIt can be used on your local machine, your coworker’s machine, or a cloud provider’s servers (e.g. AWS). Sort of like that box of childhood knickknacks you keep moving with you from home to home.
  3. Has clear interfaces for accessOur physical container has a lid for opening and putting things in and taking things out. Similarly, a Docker container has several mechanisms for interfacing with the outside world. It has ports that can be opened for interacting through the browser. You can configure it to interact with data through the command line.
  4. Can be obtained from a remote locationYou can get another empty plastic container from Amazon.com when you need it. Amazon gets its plastic containers from manufacturers who stamp them out by the thousands from a single mold. In the case of a Docker container, an offsite registry keeps an image, which is like a mold, for your container. Then when you need a container you can make one from the image.

Unlike a virtual Docker container, a new plastic container from Amazon will cost you money and won’t come with a copy of your goods inside. Sorry 💸.

Living Instance

A second way you can think of a Docker container is as an instance of a living thing. An instance is something that exists in some form. It’s not just code. It’s code that has brought something to life. Like other living things, the instance will eventually diemeaning the container will shut down.


An instance of a monster

A Docker container is a Docker image brought to life.

Software

In addition to the container metaphor and the living instance metaphor, you can think of a Docker container as a software program. After all, it is software. At its most basic level a container is a set of instructions that manipulate other bits.


Containers are code

While a Docker container is running, it generally has programs running inside it. The programs in a container perform actions so your application will do something.

For example, the code in a Docker container might have sent you the content you are reading on this webpage right now. Or it might take your voice command to Amazon Alexa and decode it into instructions another program in a different container will use.

With Docker you can run multiple containers simultaneously on a host machine. And like other software programs, Docker containers can be run, inspected, stopped, and deleted.

Concepts

Virtual Machines

Virtual machines are the precursors to Docker containers. Virtual machines also isolate an application and its dependencies. However, Docker containers are superior to virtual machines because they take fewer resources, are very portable, and are faster to spin up. Check out this article for a great discussion of the similarities and differences.

Docker Image

I mentioned images above. What’s an image? I’m glad you asked! The meaning of the term image in the context of Docker doesn’t map all that well to a physical image.


Images

Docker images are more like blueprints, cookie cutters, or molds. Images are the immutable master template that is used to pump out containers that are all exactly alike.


Cookie cutters

An image contains the Dockerfile, libraries, and code your application needs to run, all bundled together.

Dockerfile

Dockerfile is a file with instructions for how Docker should set up and build your application.

The first item in the Dockerfile contains code that Docker uses to build a container from base read-only layers. Popular official base images include pythonubuntu, and alpine.

Additional layers can then be stacked on top of this base layer, according to the instructions in the Dockerfile. For example, a Dockerfile for a machine learning application could tell Docker to add NumPy, Pandas, and Scikit-learn in an intermediate layer.

Finally, a thin, writable layer is stacked on top of the other layers according to the Dockerfile code. (You understand that a thin layer is small in size because you intuitively understand the thin metaphor, right 😃?)

We’ll explore Dockerfiles in more depth in a future article in this series.

Docker Container

A Docker image plus the command docker run image_name creates and starts a container from an image.

Container Registry

If you want other people to be able to make containers from your image, you send the image to a container registry. Docker Hub is the largest registry and the default.

Phew! That’s a lot of pieces. Let’s put this all together in terms of making a pizza.

Cooking with Docker


Landscape Metaphor

  • The recipe is like the Dockerfile. It tells you what to do to get to your end goal.
  • The ingredients are the layers. You’ve got crust, sauce, and cheese for this pizza.

Think of the recipe and the ingredients combined as an all-in-one pizza-making-kit. It’s the Docker image.

The recipe (Dockerfile) tells us what we’re going to do. Here’s the plan:

  • The crust is preformed and immutable, it’s like a basic ubuntu image. It’s the base layer and gets built first.
  • Then you’ll add some cheese. Adding this second layer to the pizza is like installing an external libraryfor example NumPy.
  • Then you’ll sprinkle on some basil. The basil is like the code in a file that you wrote to run your app.

Alright, let’s get cooking.


Oven

  • The oven that bakes the pizza is like the Docker platform. You installed the oven into your house when you moved in so you could make things with it. Similarly, you installed Docker onto your computer so you could cook up containers.
  • You start your oven by turning a knob. The docker run [] command is like your knobit starts your container.
  • The cooked pizza is like a Docker container.
  • Eating the pizza is like using your app.

Like making a pizza, making an app in a Docker container takes some work, but at the end you have something great. Enjoy 🍕!

Wrap

That’s the conceptual framework. In Part 2 of this series I clarify some of the terms you’ll see in the Docker ecosystem. Follow me to make sure you don’t miss it!

Hopefully this overview has helped you better understand the Docker landscape. I also hope it has also opened your eyes to the value of metaphors in understanding new technologies.

If you found this helpful please share it on Twitter, Facebook, LinkedIn and your favorite forums. Thanks for reading!

 

Advertisements

Facebook Messenger Bots Are Here To Change Customer Service-Here’s How

What if we told you there is a social media tool that 80% of businesses will be using by 2020, and you probably aren’t utilizing it yet?

Introducing Facebook Messenger bots (also known as Facebook chatbots). According to Hootsuite, a chatbot is defined as a “piece of automated messaging software that uses AI to converse with people”. We know, it sounds a bit daunting (and sort of creepy), but it really is a useful tool.

Think of a chatbot as your Facebook page’s very own personal Siri. It understands questions related to your business and is able to effectively and accurately answer them. It allows a customer to simply type a message in (just like they’re messaging a friend) and receive an answer. Goodbye making phone calls, searching in Google or waiting for web pages to load just to find the answer to a simple question.

Top Articles on How Businesses are using Bots:

1. WhatsApp for Business: A Beginners Guide

2. Revenue models for bots and chatbots

3. Why Messenger is the Ideal Bot Platform for Now

4. Series of stories on AI, chatbots and how can they help businesses

But how do Facebook chatbots benefit your businessnot just customersand is it worth investing time in?
The answer is endless ways and YES!


Via Chatbots Life

How Do Facebook Messenger Bots Help Your Business?

Communication, communication, communication. Building a mobile app to communicate with customers is expensive, and most people don’t want to clutter their phone with yet another app. In fact, 71% of users delete an app within 90 days. Very disheartening considering the time, effort and money poured into developing an app.


Via Tint

However, according to Apple, Facebook Messenger is the third-most used app in the world, with 1.2 billion active users every single month. People use it to stay in touch with friends and family, making it difficult to imagine deleting. Utilizing this to communicate with your customers is a no-brainer, making it shocking that there are only 300,000 chatbots currently!
The time is now to invest the time into creating one as there isn’t much competition. Here are the main way we use Facebook messenger bots for our Social Media Agency and it can help your business too.

1.Eliminate Customer Care Costs

Customers expect answers 24/7 (and sometimes, when your audience is international, customer care needs to be present around the clock). No one likes being placed on hold. No one likes being transferred. No one likes speaking to a robot who can’t understand their accent. Staffing customer support representatives to assist people 24/7 can become expensive. AI (artificial intelligence) Chatbots can help track deliveries, answer return policy questions, book appointments and answer simple FAQs. The best part? It’s all done organically in a conversational way.


Via Chatbots Magazine

2. Filter Leads

Chatbots can be particularly helpful when trying to filter out high-quality leads to a human sales team. It can be programmed to ask “What is your budget?”, “When do you need this done by?”, “What date do you need the venue”, or even “How big is your party size?”. The possibilities are truly endlessand it can help simplify transactions and programming for your sales team.

3. Convenience

The possibilities are endless. According to Forbes, businesses are utilizing Facebook Messenger for every task imaginable such as…

a) The Marriott allows customers to change hotel reservations through Facebook Messenger, as well as redeem points without needing to chat with an agent.

b) Staples allows customers to check shipping notifications through Facebook Messenger.

c) Sephora uses Facebook Messenger to help customers book appointments AND help find particular lipstick colors in the company’s inventory.

d) Pizza Hut allows you to order a pizza through Facebook Messenger (yes, really!)


Via Snaps

The best aspect of Facebook Messenger chatbots is they are extremely customizable and can cater to your business’ specific needs. Perhaps the best example of customization is Bud Light’s utilization during the 2017 NFL season. Bud Light “promoted its team-branded cans by creating a chatbot that could order and deliver a case of beer in under an hour on game days.”. Personalization? Check. Geo-targeting? Check. Timeliness? Check. It’s no surprise this bot saw an 83% engagement rate.

4. Bringing Back Customers

Chatbots are seriously smart and can retain information to help you re-engage customers. Instead of breaking the bank for advertisements, a Facebook Messenger can personally reach out to customers at the ideal time. Hootsuitepoints out it can “Remind a customer about those cycling shorts still sitting in her cart, or that she sent her mother-in-law birthday flowers this time last year”. Now that’s cool!

Best Practices for Facebook Messenger Bots

Now that you understand the reasons why you should use Facebook Bots, let’s highlight some of the best practices for when you feel ready to utilize them.

  1. Expectations: A robot can’t do everything a human can (well, for now!). Keep it simple at first, develop one task for the bot to handle, and add more as you become comfortable.
  2. Personalization: Make sure your customers want to interact with your bot by allowing them to personalize their preferences. It will give you a higher click-through rate.
  3. Don’t Drag it Out: Stick to five clicks or less to get to a point of sale. Only ask the important stuff or customers will lose interest.
  4. Keep Your Humans: It’s important to still recognize when a human customer service or sales representative is neededand to allow customers to connect with one at any point in the conversation.

Facebook Messenger bots are expected to revamp the way businesses conduct customer service, sales, and marketing thanks to their ability to quickly, accurately and conversationally communicate with customers. How will YOUR business utilize them?

CRM Blogs

Surface generated almost $1 billion revenue for Microsoft last quarter

Anyone who was under the impression that Surface was a failure for Microsoft need look no further than the latest earnings release for proof that they’re wrong. In the quarter ending September 30, Microsoft pulled in $23.20 billion in revenue, and $908 million of this came from the Surface division.

All told, FY15 Q1 represents record first quarter revenue for Microsoft, and it can be at least partly attributed to the influence of Satya Nadella, as well as the restructuring surrounding Nokia Devices and Services. There was a strong performance in the Devices and Consumer divisions, with revenue increasing 47% to $10.96 billion, while commercial revenue rose 10% to $12.28 billion.

The earnings release shows that there are now more than 7 million Office 365 Home and Personal subscribers, and Xbox sales grew by 104 percent to 2.4 million. Phone hardware also fared well, pulling in more than $2.6 billion in revenue. There was growth in a number of other areas including a 128 percent boost in Cloud revenue — thanks to Office 365, Azure and Dynamics CRM — and Windows volume licensing revenue rose by 10 percent.

CEO Satya Nadella is understandably pleased with how things are going:

We are innovating faster, engaging more deeply across the industry, and putting our customers at the center of everything we do, all of which positions Microsoft for future growth. Our teams are delivering on our core focus of reinventing productivity and creating platforms that empower every individual and organization.

With the launch of Windows 10 next year, Microsoft will be keen to continue the growth of the operating system’s impact on income.

Zoho’s Latest Service Targets Subscription Economy

Businessman in black suit pushing virtual touchscreen button subscribe 

Zoho.com has been delivering online applications since 2005. That’s long before most of us were calling it the cloud, and today it has over 30 applications, most of which to this point have been aimed at the front office with applications such as an office suite, email, CRM and project management. But Zoho.com wants to begin focusing on the back office more more –and today it announced a new subscription management service called Zoho Subscriptions that is tightly integrated with its accounting package, Zoho Books.

Zoho.com differentiates itself from the pack by offering enterprise-grade programs in the cloud for a competitive price, and they are not shy about pointing out that, while their competitors in the cloud take millions of dollars in venture capital and bleed red ink, their company has never taken a penny of outside money. It’s worth noting that Zoho.com is a division of Zoho Corporation, which also includes ManageEngine and WebNMS.

The new subscription service  the company is launching today is part of that diversity. They want to begin building applications aimed at back office management. Sabhlok says what separates Zoho Subscriptions from the competition is the tight integration with the accounting package, creating what he calls “a bridge between the subscription economy and traditional accounting.”

The way it works is you enter your subscription information in Zoho Subscriptions, and it handles the entire transaction including invoicing, credit card information, receipt generation and capturing the monthly revenue –and it shares that revenue with Zoho Books. So say the subscription is for a  year at $10 per month. The $10 is captured in Subscriptions, but also shows up as revenue in Zoho Books automatically in real time, so that you don’t have to enter it again. Sabhlok says this shared code base is a competitive advantage over stand-alone cloud services which may integrate with other cloud services via open APIs, but don’t have the built-in integration.

“Companies need to have an integration strategy. They may be able to get it through coopetition, but our strategy is to provide it out-of-the-box. We build everything in-house off a common code base. We believe this strategy wins out over integrations or acquisitions,” he told me. But he added that in spite of that they too offer open APIs for companies who require integration with other programs, recognizing that not everyone will use Zoho for everything.

In addition to the bookkeeping aspect of Zoho Subscription, it also provides business metrics related to subscriptions. This allows companies based on the subscription economy to see how well their business is performing using common subscription metrics such as monthly recurring revenue (MRR), average revenue per user (ARPU), life time value (LTV), churn rate and activation count, giving subscription based businesses an accurate picture of their current performance.

To entice people to try the new service, Zoho is offering a 6 month trial that includes both Zoho Subscriptions and Zoho Books for $49 per month for unlimited transactions. After the trial period, the two services cost $49 per month for 50 credit card transactions, and $5 for every additional 50 credit card transactions.

Salesforce Performance Edition Offers Cornucopia of Apps

  By Jennifer LeClaire

 

“This allows Salesforce to further disrupt the traditional morays of enterprise purchasing. One question comes to mind: Are all the services going to be consumed by the same user? Some of the services are geared toward sales and others are geared toward service and support, like Live Agent,” asked Brad Shimmin, a principal analyst at Current Analysis.

The new Performance Edition from Salesforce .com combines its customer relationship managementapps  and platform with targeted lead and customer data from Data.com, coaching and feedback tools from Work.com, and trusted identity services from Salesforce Identity, among other tools.
The idea behind Performance Edition is to bring together tools companies need to drive growth, improve customer satisfaction, and maximize sales and service success in what Salesforce calls a “social and mobile  world.” Although this bundle is new, the company said the likes of Facebook, Kelly Services, Schumacher Group and Varsity Brands have already been using these tools in combination with success.

“Over the years, we’ve combined several Salesforce.com innovations to create a holistic sales and service solution. As a result, we’ve been able to drive new levels of performance across every aspect of Enterasys’ business,” said Dan Petlon, CIO of Enterasys.

“Salesforce Performance Edition is a one-stop shop for customer success. It will put everything we need to drive performance into a single solution.”

A Holistic Approach

According to Salesforce, Performance Edition is based on the feedback and best practices of its most successful customers. The bundle serves as the CRM provider’s most comprehensive solution for sales and service, combining Sales Cloud, Service Cloud and Salesforce Platform with all of the additional capabilities in the company’s Unlimited Edition.
Beyond the apps and platforms already mentioned, Performance Edition will also offer Live Agent, a web chat solution integrated into the Service Cloud that includes mobile capabilities to connect customers with service agents to get answers in real time, from any device .
Then there’s Knowledge, which provides a single place for service agents and customers to access knowledge articles and find solutions, directly from the Service Cloud console or on any mobile device via the company’s public communities or web portals. Sandbox Functionality, which creates a “sandbox” of an organization’s production environment for integrating code, testing and user training to build and deploy customization and apps faster, is also part of the mix.
“Successful companies approach their sales and service strategy holistically,” said Michael Fauscette, group vice president of software business solutions at IDC. “With Performance Edition, Salesforce.com is making it easier for companies to grow pipeline, shorten sales cycles and improve sales performance while delivering a consistent customer service experience across every channel — all in a single solution.”

Continue reading

Cloud Subscription comparison to Capital Purchase of CRM:

 

Factors-affecting-CRM-Pricing-Implementation

 

The selection of a CRM system is key to the success in the business development areas and for continued improvement of the business in today’s competitive environment. It’s critical to know more about your ideal customers than any other business and have processes to develop and retain profitable customer relationships.

We are here to help you feel comfortable in making smart decisions in selecting and implementing CRM so it is an appreciating asset to your business.

In our previous blog article we talked about factors that affect the pricing of a CRM implementation. It covered planning points of a subscription from the software vendor or software capital purchase of licenses as your business options with ACT! and SalesLogix CRM.

Purchase Cloud Subscription licenses:

The software publisher provides the hosted environment and basic technical support to the CRM administrator.

Purchase Licenses as Capital expense:

Deployed in your environment: at your site or at an IT partner’s hosted site.

CFO Friendly: A constant known lower operating expense versus a larger initial capital expense. Rapid time-to-value of traditional CRM Software-as-Service solution.

Take advantage of existing network capability: Microsoft SQL database and IIS web server capability exists.

IT involvement: The business has no IT department, the systems in place are not capable of hosting a CRM system, the IT department is unable to implement or support the CRM system (too busy with other projects, don’t have the required skills set).

Data integration: There is a need for a continuous integration of data with other on site applications such as accounting or ERP, especially if these applications don’t have web services capability.

You’ll be using the Web and/or Mobile user access and not the Windows client version of CRM.

Security Requirements: Use if security policies or regulations require an on-premise system.

End user skills: The end users are capable of managing their own devices; security, browser configuration, email configuration.

IT Skills: The IT department has the skills to manage the technologies (Microsoft SQL, Microsoft IIS web server, etc.)

Need to have a rapid deployment deadline.

IT department has capacity to meet the deployment schedule.

Compared to other cloud vendor solutions you have peace of mind that your data is secure and only accessible by you, not intermingled with data of thousands of other companies by using the SalesLogix Cloud. You own and control your data right from the start and can switch from a cloud-based solution to an on-premise solution.

There is a need to have both the Microsoft Windows desktop client and web client for running business applications. Legacy Windows applications are primarily used.

Plays well with others since the SalesLogix cloud is built on a flexible, standards-based platform that enables integration with other business management solutions such as Microsoft Outlook on your desktop.

The IT department endorses or requires modern, standards-based platform that enables integration with other business management solutions such as Microsoft Office.

You’re in control of the CRM experience. The SalesLogix Cloud gives you control of upgrades so you can perform them when it’s right for your business – not when the IT department or vendor decides.

Your IT department has the capability to create a cloned system so upgrades can be tested before placing into production.

Other Points of Interest:
  • You can move from an on-premise implementation to the cloud subscription implementation and receive credit for original purchases.

  • Likewise the cloud subscription provides the capability to back up the full database and deploy on-premise.